htaccess禁止根目录但允许其他网址

时间:2014-09-24 07:20:41

标签: regex .htaccess

我正在为我们公司使用Xfilesharing,我需要通过内部IP范围192.168.230.1-225来阻止对主上传页面的访问,并允许下载到每个IP。 使用以下规则将阻止主页面,但也会阻止其他页面。但是使用规则允许下载会破坏重写规则。

RewriteEngine on

RewriteRule    ^$                   /cgi-bin/index.cgi [L]
RewriteCond    %{REMOTE_ADDR} ^192\.168\.230\.25[0-5]|2[0-4]\d|1?\d\d?$
RewriteRule    ^([0-9A-Z]{12})/([^/]+)/?$ /cgi-bin/index.cgi?act=download1&id=$1&fname=$2 [L,QSA]
RewriteRule    ^.*$ /error [R=302,L]
RewriteRule    ^del\-([0-9A-Z]{12})\-([0-9A-Z]+)/.+$    /cgi-bin/index.cgi?del=$1-$2 [L]
RewriteRule    ^admin$                  /?act=admin [R]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule    ^([a-z0-9\-\_]+).html$           /cgi-bin/index.cgi?act=page&tmpl=$1 [L]

文字网址为http://www.example.com/MG4YBAOW18QH/3.png,规则为:^([0-9A-Z]{12})/([^\/]+)$ /cgi-bin/index.cgi?act=download1&id=$1&fname=$2 [L]

1 个答案:

答案 0 :(得分:0)

您的下载规则如下:

RewriteCond %{REMOTE_ADDR} ^192\.168\.230\.\d+
RewriteRule ^([0-9A-Z]{12})/([^/]+)/?$ - [F,NC]

RewriteRule ^([0-9A-Z]{12})/([^/]+)/?$ /cgi-bin/index.cgi?act=download1&id=$1&fname=$2 [L,QSA,NC]