2011-02-16 175 views
0

我目前使用.htaccess將域重定向到子目錄。網址「example.com」成功重定向到「example.com/sub」,「example.com/forums/」將重定向到「example.com/sub/forums」,從地址隱藏子目錄「sub」酒吧。但使用「example.com/forums」(沒有結尾的斜槓)會正確重定向,但在瀏覽器的地址欄中顯示example.com/sub/forums。mod_rewrite尾部斜槓問題

我已經嘗試修改htaccess文件來添加尾部的斜槓,但省略但似乎沒有幫助。對此問題的任何幫助將不勝感激。

RewriteEngine on 
RewriteCond %{HTTP_HOST} example\.com [NC] 
RewriteCond %{REQUEST_URI} !^/sub/ 
RewriteRule ^(.+) sub/$1 [L] 

回答

0

當你requst /論壇,Apache的弄清楚,/論壇不是一個文件,而是一個目錄/論壇/,所以它發出一個外部重定向(301重定向)到正確的URL。 你所要做的就是攔截這種行爲是這樣的:

RewriteEngine on 

RewriteCond %{REQUEST_URI} !^/sub/ 
RewriteRule ^(.+) sub/$1 

RewriteCond %{REQUEST_FILENAME} -d 
RewriteCond %{REQUEST_URI} !/$ 

實際的規則可能不同,但你的想法。