2012-10-10 189 views
0

我有一個EC2實例並在服務器上承載多個站點。我可以將不同的域名重定向到他們的特定文件夾,但我似乎無法重定向子域名。使用.htaccess重定向子域名

這裏是我到目前爲止的代碼爲www.domain1.com其引導到「文件夾1」,並保留在地址欄上的「www.domain1.com」地址 - 這是工作的罰款:

Options +FollowSymlinks 
RewriteEngine On 

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

但是我無法找到子域的解決方案 - 我已經試過類似這樣的很多解決方案 - 這不起作用:

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

我想http://sub.domain1.com指向「文件夾2」,但保留sub.domain1.com在地址欄。我想避免的一件事是在代碼中使用我非常長的EC2實例靜態地址「http://ec2-12-34-567-890.compute-1.amazonaws.com/」(如果可能的話)。

感謝

回答

0

嘗試改變主機部分有邊界:

RewriteCond %{HTTP_HOST} ^(www\.)?domain1\.com$ [NC] 

RewriteCond %{HTTP_HOST} ^sub\.domain1\.com$ [NC] 

的第一條規則是針對主機sub.domain1.com匹配,因爲它包含一個domain1.com