0

在我的根文件夹中,我有一个主目录。我希望将对 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 上提供文件。

4

1 回答 1

1

我不确定我是否理解确切的要求,但您似乎想将所有 (www.)mydomain.com 请求重写到 /home 目录,而您的子域 home.mydomain.com已经指向该目录,因此应该被豁免从那个重写指令。如果由于某种原因 (www.)mydomain.com 也无法设置为指向 /home,则您需要一个重写条件,例如

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

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

于 2012-05-19T19:02:25.353 回答