2012-10-10 159 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