使用.htaccess文件重定向到子域

时间:2012-05-19 15:32:40

标签: apache .htaccess mod-rewrite

在我的根文件夹中,我有一个主目录。我希望将mydomain.com或www.mydomain.com的所有请求转发到home.mydomain.com。在我的cPanel中,我已经设置了子域home.mydomain.com以指向mydomain.com/home。

这是我目前在.htaccess文件中的内容:

RewriteEngine On
Options +SymLinksIfOwnerMatch
RewriteRule ^(.*)$ \/home\/$1 [L]

这成功地将mydomain.com和www.mydomain.com分别转发到mydomain.com/home或www.mydomain.com/home。但是home.mydomain.com/filename给了我一个内部服务器错误,而不是在mydomain.com/home/filename上提供文件。

1 个答案:

答案 0 :(得分:1)

我不确定我是否理解确切的要求,但是当您的子域home.mydomain.com 已经指向该目录,因此应该免除该重写指令。如果由于某种原因(www.。)mydomain.com也无法设置为指向/ home,则需要重写条件,例如

RewriteEngine On
Options +SymLinksIfOwnerMatch
RewriteCond %{HTTP_HOST} ^(www\.)?mydomain\.com$ [NC]
RewriteRule ^(.*)$ /home/$1 [L]

我还删除了不需要的反斜杠。您可以使用htaccess tester轻松在线检查重写规则。