从根目录获取.htaccess以应用于所有目录?

时间:2011-09-16 11:18:32

标签: apache .htaccess

我的根目录(public_html /)中有一个.htaccess文件,如下所示:(XXX.XX.XX.XX代表IP)

RewriteCond %{HTTP_HOST} ^XXX.XX.XX.XX$ [NC]
RewriteRule ^(.*)$ http://www.justadomain.tld [R=301,L]

子文件夹和子文件夹的文件夹中也有.htaccess文件,但是我希望这个重写规则能够在整个帐户的所有目录中工作,无论是否存在.htaccess,而不是在每个文件中复制此规则。现有.htaccess文件中的规则应继续有效。

提前感谢您的回答!

1 个答案:

答案 0 :(得分:11)

如果您希望从父.htaccess执行重写规则,则需要在子文件夹中的每个.htaccess中添加以下行:

RewriteOptions inherit
  

这会强制当前配置继承其配置   父母。在每个虚拟服务器上下文中,这意味着地图,   主服务器的条件和规则是继承的。在   每个目录上下文这意味着条件和规则   父目录的.htaccess配置是继承的。

     

从父作用域继承的规则将在规则之后应用   在子范围中指定。

http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriteoptions


或者 - 将您的“全局”规则从.htaccess移动到 VirtualHost上下文(当然,只有当您可以编辑服务器配置文件时)。