2010-12-02 62 views
0

我有一堆域指向我的主機上的同一目錄「public_html」。
主文件夾中有一個.htaccess文件,用於將每個域本地重定向到與%{HTTP_HOST} mod_rewrite變量同名的特定文件夾。 (如:重定向到www.domain.compublic_html/www.domain.com/動態檢查子目錄內的目錄

這是的.htaccess的內容:

RewriteEngine On 
RewriteBase/
RewriteCond /%{HTTP_HOST}/#%{REQUEST_URI} !^([^#]+)#\1 
RewriteRule ^(.*)$ %{HTTP_HOST}/$1 [L] 

我有一個問題,當涉及到目錄斜線指令。
如果我試圖訪問一個文件夾中的域名網址,而不喜歡http://www.domain.com/folder正斜槓,則mod_dir應用DirectorySlash和外部重定向我的要求http://www.domain.com/www.domain.com/folder/

我想申請一個301重定向後域目錄重定向這樣的:

RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^(.*[^/])$ $1/ [R=301,L] 

但是這個工作,我就必須能夠檢查是否存在%{HTTP_HOST}「文件夾」內%{REQUEST_FILENAME}。我甚至嘗試以下,對於沒有成功:

RewriteCond /%{HTTP_HOST}/%{REQUEST_FILENAME} -d 
RewriteRule ^(.*[^/])$ $1/ [R=301,L] 

如何檢查,動態,如果%{REQUEST_FILENAME}是一個目錄,這將是一個目錄中具有相同名稱的%{HTTP_HOST}

在此先感謝

回答

0

如果您有-d工作,你需要提供一個絕對的文件系統路徑。所以試試這個:

RewriteCond %{DOCUMENT_ROOT}/%{HTTP_HOST}%{REQUEST_URI} -d 
RewriteRule ^(.*[^/])$ $1/ [R=301,L]