我的根目录(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文件中的规则应继续有效。
提前感谢您的回答!
答案 0 :(得分:11)
如果您希望从父.htaccess执行重写规则,则需要在子文件夹中的每个.htaccess中添加以下行:
RewriteOptions inherit
这会强制当前配置继承其配置 父母。在每个虚拟服务器上下文中,这意味着地图, 主服务器的条件和规则是继承的。在 每个目录上下文这意味着条件和规则 父目录的.htaccess配置是继承的。
从父作用域继承的规则将在规则之后应用 在子范围中指定。
http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriteoptions
或者 - 将您的“全局”规则从.htaccess移动到 VirtualHost上下文(当然,只有当您可以编辑服务器配置文件时)。