2011-12-29 42 views
0

我已經搜索,但還沒有找到解決這個確切的問題。htaccess重寫顯示冗餘根文件夾

我有一個網站域'mainwebsite.com'和幾個其他頂級域在htaccess中管理。我遇到的問題是'alternatedomain.com'和子目錄。

#alternatedomains 

RewriteCond %{HTTP_HOST} alternatedomain.com 
RewriteCond %{REQUEST_URI} !/alternatedomain/ 
RewriteRule ^(.*)$ alternatedomain/$1 [L] 

這工作得很好,alternatedomain.com愉快地擔任了mainwebsite.com/alternatedomain。

問題是,當我訪問任何文件夾一樣

alternatedomain.com/folder 

,在標題欄上的網址

alternatedomain.com/alternatedomain/folder/ 

和它的駕駛我瘋了。無法弄清楚我做錯了什麼!

編輯:當我嘗試訪問alternate.com/folder時纔會發生,而不是當有後綴/,所以alternate.com/folder/工作正常,沒有多餘的文件夾名稱

您的幫助最感謝!

+0

有幾件事情可能導致這種情況。看看其中的一個問題:http://stackoverflow.com/search?q=rewrite+trailing+slash – 2011-12-29 03:05:39

回答

0

這是因爲mod_dir(即增加了/)不知道url被重寫。

你可以只禁用DirectorySlash與

DirectorySlash Off 

然而,這將使請求alternatedomain.com/folder結果中沒有找到404。儘管你可以用一些重寫軟件來解決這個問題。因此,完整的解決方案將如下所示:

DirectorySlash Off 
RewriteCond %{DOCUMENT_ROOT}/$0 -d 
RewriteRule ^alternatedomain/(.+[^/])$ /$1/ [R,L]