我设置了多个虚拟主机,所有虚拟主机都使用相同的 DocumentRoot 指向一组公共文件,我已经为每个站点上的定制文件设置了 AliasMatch,我想知道是否可以为每个虚拟主机设置一个 .htaccess 文件。
#Sample vhost
<VirtualHost xxx.xxx.xxx.xxx:80>
ServerName mytest.com
ServerAlias www.mytest.com
DocumentRoot /home/commonfiles/public_html
......
AliasMatch /css/(.*) /home/ftpuser/public_html/mycss/$1
</VirtualHost>
#Sample vhost 2
<VirtualHost xxx.xxx.xxx.xxx:80>
ServerName mytest2.com
ServerAlias www.mytest2.com
DocumentRoot /home/commonfiles/public_html
......
AliasMatch /css/(.*) /home/ftpuser2/public_html/mycss/$1
</VirtualHost>
我已经为 .htaccess 添加了 AliasMatch,但是没有作用。
#vhost 1
AliasMatch /.htaccess /home/ftpuser/public_html/.htaccess
#vhost 2
AliasMatch /.htaccess /home/ftpuser2/public_html/.htaccess
有什么建议么?
提前致谢。
答案1
我怀疑这是否可行,覆盖操作可能事先就已发生。如果不仔细阅读文档,我无法 100% 确定。
我会看看访问文件名可以根据 VirtualHost 指定指令。
在两个 VirtualHosts 中指定不同的 AccessFileName,您就可以开始了。请记住,这也会更改 Apache 查找通过该 VirtualHost 访问的所有子目录的覆盖指令的文件名。