htaccess rewriteRule限制访问一个特定的文件夹问题

时间:2009-10-16 10:18:34

标签: .htaccess directory mod-rewrite include

我遇到限制文件夹限制的问题。

它只是根目录中的inc文件夹,而不是高层建筑中的inc文件夹

问题是:

  1. IE将启动下载/打开对话框和

  2. FF显示包含文件

  3. 我的图像文件夹也没有这个问题,它也在根目录中。

    我可以使用什么逻辑来防止这种情况呢?

     Options +FollowSymlinks
    RewriteEngine On
    Options All -Indexes
    IndexIgnore *
    # RewriteRule ^inc($|/) - [R=403,L]
    RewriteCond %{HTTP_REFERER} !^http://([-a-z0-9]+\.)?taxi-bel\.nl [NC]
    RewriteRule \.(gif|png|jpg|css|js)$ - [F,NC,L]
    
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
    
    RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
    RewriteRule ^(.*)$ http://%1/$1 [R=301,NC,L]
    

    编辑,因为

    我通过添加此规则解决了这个问题 DirectoryIndex index.php

    将index.php放在inc文件夹中,指向错误文件,或者你可以把它变成错误页面本身 - 并解决问题!

    谢谢,理查德

2 个答案:

答案 0 :(得分:1)

您注释掉的规则可以做到这一点:

RewriteRule ^inc($|/) - [F,L]

我宁愿发送404而不是403.但这需要Apache 2。

答案 1 :(得分:1)

如果您只想禁止通过网络服务器访问inc文件夹及其内容,您只需将.htaccess文件放在inc文件夹中,并禁止所有来自外部的访问。

Order deny, allow
deny from all