没有mod_rewrite的htaccess块

时间:2012-12-12 16:10:32

标签: apache .htaccess mod-rewrite block

.htaccess有更多的用途而不仅仅是重写,例如阻塞。

问题是:为什么在没有mod_rewrite激活的情况下不读取htaccess(我需要阻止一个目录,我宁愿不激活mod_rewrite)?我该如何让它发挥作用?

3 个答案:

答案 0 :(得分:1)

正在读取

.htaccess并不依赖于mod_rewrite处于活动状态(请参阅Apache文档中的.htaccess files)。控制它的主要选项是AllowOverride,指定可以执行的操作,以及AccessFileName,它可以覆盖默认文件名。您的mod_rewrite配置是否恰好包含AllowOverride指令?

答案 1 :(得分:1)

除非你正在重写url,否则你不应该启用mod_rewrite。在httpd.conf文件中,您有一个名为AccessFileName的指令,默认为.htaccess。此外,重要的组件是您的.htaccess文件能够修改某些组件(您的目录)。您可以为该目录设置一个指令,其中包含相应的AllowOverride键。你能澄清一下你的问题吗?也许把你的.htaccess文件的内容放在帖子中,这样我们就可以看到你想要做什么了?

<Directory "[important directory]">
    Options Indexes FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

答案 2 :(得分:0)

您不能在.htaccess中使用directory指令。

这样做的方法是将 .htaccess文件放在要阻止的目录中,其中包含:

deny from all

结果是403错误(禁止)。