2014-01-08 34 views
0

任何人都可以請提供我的htaccess配置,以便我可以將我的文件夾視爲子域名。htaccess子域和網址重寫的配置

假設用戶將嘗試瀏覽器http://folder.mydomain.com和用戶實際上看到​​的內容。

另外,我希望瀏覽器中的URL顯示爲http://folder.mydomain.com而不是​​。

雖然我在互聯網上找到了解決方案,但無法使其工作。

在此先感謝。

+2

你到目前爲止嘗試過些什麼? – TiMESPLiNTER

回答

1

嘗試:

RewriteEngine On 

# to handle directory slash 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteCond %{HTTP_HOST} ^([^.]+) 
RewriteCond %{DOCUMENT_ROOT}/%1%{REQUEST_URI} -d 
RewriteRule ^(.+[^/])$ /$1/ [L,R=301] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteCond %{HTTP_HOST} ^([^.]+) 
RewriteCond %{DOCUMENT_ROOT}/%1 -d 
RewriteRule ^(.*)$ /%1/$1 [L] 

的條件首先檢查該請求是不是已經對現有的文件或目錄,那麼該主機名不以「www」的開始,那麼它會創建一個分組對於子域(例如folder),則在第一條規則中,它將檢查「文件夾」內的請求是否爲目錄,並且請求不以結尾斜槓結尾。這將重定向請求以包含尾部斜線。這是因爲mod_dir和DirectorySlash選項會重定向沒有結尾斜槓的目錄請求,這會暴露你的「文件夾」。

第二個規則具有相同的條件,只是它只檢查子域是否存在的文件夾。然後它在內部重寫對該文件夾的請求。