2012-03-19 102 views
0
RewriteCond %{HTTP_HOST} ^(www.)?example\.com$ [NC] 
RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [R=301,L] 

所以我有這在我的htaccess文件來照顧最後的斜槓問題。每當您在網址上添加尾部斜線時,它都會重定向您。用htaccess跳過目錄

這裏的問題是有一個目錄,它需要尾部斜線或中斷。如何添加一個例外,像http://www.example.com/com/這個規則目錄..

回答

0

理解的方法,最簡單的方法是使用一個附加條件:

RewriteCond $1   !=com 
RewriteCond %{HTTP_HOST} ^(www.)?example\.com$ [NC] 
RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [R=301,L] 

這工作,因爲執行的順序是rule.regexp ,cond1,cond2,rule.substitution。因此,$ 1變量可用於(新)cond1。你也可以在你的regexp上使用否定的斷言。

順便提一下,http://%{HTTP_HOST}/是在http的[R = 301]的情況下假定的。爲什麼不想爲其他主機別名移除/