答案可能与 htaccess 或其他任何内容无关。这可能与虚拟主机有关。以下是您可能已经完成的操作,如果没有,这应该可以解释为什么您的配置不起作用:
在 httpd.conf 文件中,有时您包含一个 vhosts 目录。
如果没有,这就是我要做的:我设置 Apache 以便它读取特定目录中的所有虚拟主机(它几乎位于 httpd.conf 文件的末尾,因此在包含虚拟主机之前应用默认指令):
# Include Virtualhosts directory:
NameVirtualhost *
Include /web/vhosts/
然后在目录中,我设置了我所有的虚拟主机:
olivier@Tt /web/vhosts # find . | sort
./labyz.vhost.conf
./olivierpons.vhost.conf
./wipwip.vhost.conf
./wogwog.vhost.conf
olivier@Tt /web/vhosts #
然后对于每个虚拟主机,我都会制定自己的指令。示例(全部重定向到http://disneyland.fr/):
<VirtualHost *>
ServerAdmin webmaster@olivierpons.fr
DocumentRoot "/web/htdocs/olivierpons/prod"
ServerName olivierpons.fr
ServerAlias *.olivierpons.fr
ErrorLog "/web/logs/olivierpons.error.log"
CustomLog "|/opt/httpd/bin/rotatelogs /web/logs/olivierpons.fr/access.%Y-%m-%d-%H_%M_%S.log 5M" combined
RewriteEngine On
RewriteRule (.*) http://disneyland.com$1 [QSA,R=301,L]
</VirtualHost>
sitea.com.vhost.conf
注意:在您的情况下,vhost 文件siteb.com.vhost.conf
具有相同的DocumentRoot
.
你有没有这样做过?