是否可以为同一个应用程序提供多个.htaccess文件?

问题描述 投票:0回答:2

我有两个域具有相同的文档根。根据要求,我希望两个域都应该有自己的.htaccess文件。他们可以通过哪种方式实现这一目标?

php .htaccess dns document-root
2个回答
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文件。


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可能会这样做。

© www.soinside.com 2019 - 2024. All rights reserved.