2014-08-28 13 views
0

我在我的.htaccess文件中有很多規則。.htacces子項的重寫規則像project1,project2 e.t.c

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

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

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

e.t.c

我想有隻用一個面具更聰明的規則。 子域像project{number} - >到文件夾一樣/project{number}

請指教一個很好的解決方案

回答

0
RewriteCond %{HTTP_HOST} (project\d+).mysite.com$ 
RewriteCond %{REQUEST_URI} !=/%1 
RewriteRule ^(.*)$ /%1/$1 [L] 

這應該按預期工作。從文件中刪除所有其他內容。

+0

非常感謝您的回答!還有一個小問題:如果文件夾不存在,如何顯示404錯誤?現在它調用服務器錯誤。 (如果用戶輸入「somenotexist.mysite.com」)ErrorDocument 404/404 /不起作用。 – 2014-09-11 08:44:24