我有两个域具有相同的文档根目录。根据要求,我希望两个域都应具有自己的.htaccess文件。他们与我可以实现这一目标的任何方式吗?
答案 0 :(得分:2)
下面的示例包含两个域,我们必须根据该域选择查询参数。
RewriteCond %{HTTP_HOST} ^www\.site1\.example [NC]
RewriteRule ^(.*)$ index.php?domainname=site1 [NC,QSA]
RewriteCond %{HTTP_HOST} ^www\.site2\.example [NC]
RewriteRule ^(.*)$ index.php?domainname=site2 [NC,QSA]
但是在同一文件夹中不能添加多个.htaccess
文件。
答案 1 :(得分:0)
除了常见的RewriteCond
遮罩外,还有更多选择。特别是,如果您需要的不仅仅是mod_rewrite指令,则可以使用:
每个虚拟主机一个AcesssFilename
。
<VirtualHost *:80>
AccessFileName .htaccess2
或者只是一个<If>
section来拆分一个.htaccess:
<If "%{HTTP_HOST} =~ 'www2'">
Include .htaccess2
# or a bunch of RewriteRules here
</If>
对于核心指令,我也建议您在虚拟主机配置本身中进行设置。但是对于基本重定向,辅助.htaccess.domain2
可能会这样做。