影响父目录的 HTACCES 文件


htacces file affecting parent directory

我有一个这样设置的网站:

目录结构为:

/usr/local/sites/example.com/secure/admin

apache 中用于 example.com:80 的主主机配置指向

/usr/local/sites/example.com

example.com:443 的 https 配置指向

/usr/local/sites/example.com/secure

我有另一个使用不同域的虚拟主机,我们称之为我严格用于管理内容的 example2.com:443 指向:

/usr/local/sites/example.com/secure/admin

我在example.comexample.com/secure都有 .htaccess 文件有些mod_rewrite规则。

/usr/local/sites/example.com/secure/admin中没有 .htaccess 文件

然而,当我访问 example2.com 来管理网站时,.htaccess 文件从父目录影响管理页面的功能。

应该是这样吗?阿帕奇不应该应用mod_rewrite仅在虚拟主机的文档根目录中的规则?

我尝试将.htaccess文件放入/usr/local/sites/example.com/secure/admin与以下内容:

<IfModule mod_rewrite.c>
    RewriteEngine Off
</IfModule>

阿帕奇:

Apache/2.2.22 (Unix) DAV/2 PHP/5.3.15 with Suhosin-Patch mod_ssl/2.2.22 OpenSSL/0.9.8r

这是在Mac OS X服务器上,如果它很重要(这就是为什么我无法更新 Apache 或 PHP(。我希望将硬件连接到Linux发行版很快。

您实际上想要打开重写引擎。由于 htaccess 文件中的规则始终取代父目录中的任何规则(不使用 Injerit 时(,因此您要做的是打开重写引擎,并且 htaccess 文件中没有规则。这会强制它优先于父目录中的规则。

<IfModule mod_rewrite.c>
    RewriteEngine On
</IfModule>

而且因为它有优先权并且没有规则,所以不会应用重写内容。