通过Apache .conf文件忽略.htaccess文件和规则在一个子目录中

时间:2016-02-18 22:49:09

标签: php apache .htaccess mod-rewrite

我试图让Apache忽略一个子目录(及其所有后续目录)中的.htaccess文件和规则,但仍然允许它们在父目录中执行。看起来这很有效:

<Directory /home/user/test_domain_com/www/test>
    AllowOverride None
</Directory>

但是,这里的问题是如果根文件夹中存在具有某些规则的.htaccess文件,则子目录仍然会受到影响。 (例如,根据任何请求调用test.php):

Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteRule ^(.*)$ test.php [L]

此示例仍会影响我要忽略的目录.htaccess规则。是否有可能不仅忽略此目录中的.htaccess文件,而且还忽略可能应用此directoy的任何.htaccess规则?我可以添加到.conf文件中来完成此任务吗?

我希望这是有道理的。

由于

1 个答案:

答案 0 :(得分:0)

来自{{3}}

Only available in <Directory> sections
AllowOverride is valid only in <Directory> sections specified without regular expressions, not in <Location>, <DirectoryMatch> or
     

部分。

我建议更新为:

<Directory "/home/user/test_domain_com/www">
    AllowOverride All
</Directory>
<Directory "/home/user/test_domain_com/www/test">
    AllowOverride None
</Directory>