2011-08-04 161 views
3

我與我在我的.htaccess 重寫規則的問題一開始,我有一個wlidcard在我的網站(* .site.com)重寫規則子域

這裏是我的網站的路徑:

/home/www/static/ 
/home/www/home/ 
/home/www/.htaccess 

所以我在我的網站的根有由的.htaccess:

RewriteCond %{HTTP_HOST} static.site.com [NC] 
RewriteRule !^static/ static%{REQUEST_URI} 

RewriteCond %{HTTP_HOST} www.site.com [NC] 
RewriteRule !^home/ home%{REQUEST_URI} 

這些重定向運行相當不錯的,但是當我想去例如:

http://www.site.com/img 

有一個問題,它重定向我http://www.site.com/home/img/

但是當我最後的反斜線鍵入http://www.site.com/img/一切正常。

感謝答覆:)

+0

在這cicumstances你想重定向到'/家庭/ ...'? – Peter

回答

0

解決:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,6}|/|#(.*))$ 
RewriteRule ^(.*)$ $1/ [R=301,L] 
1

不匹配其映射到現有目錄

RewriteCond %{REQUEST_FILENAME} !-d 

如果不行,請嘗試匹配請求加上又斜槓是否是一個目錄的請求?

RewriteCond %{REQUEST_FILENAME}/ !-d 
+0

'RewriteRule!^ home/home%{REQUEST_URI}'但它不起作用: ( – CrazyMax

2

嘗試:

RewriteRule ^(.*)$ $1/ [R=301,L] 

這應該加在你丟失的斜槓如果缺少。你需要包含'L'標誌來告訴重寫引擎,這是你最後一次重寫,而不是將其他規則應用在這一個之上。