2014-09-24 161 views
0

我爲我們公司使用Xfilesharing,我需要阻止我們的內部IP範圍192.168.230.1-225訪問主上傳頁面並允許下載到每個IP。 使用以下規則將阻止主頁面,但也會阻止其他頁面。但是使用規則來允許下載會破壞重寫規則。htaccess不允許根目錄但允許其他網址

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] 

字面上的URL是http://www.example.com/MG4YBAOW18QH/3.png和規則:^([0-9A-Z]{12})/([^\/]+)$ /cgi-bin/index.cgi?act=download1&id=$1&fname=$2 [L]

+0

什麼是你的上傳頁面的網址是什麼? – anubhava 2014-09-24 07:38:30

+0

此規則與下載鏈接匹配:RewriteRule ^([0-9A-Z] {12})/([^ \ /] +)$ /cgi-bin/index.cgi?act=download1&id=$1&fname=$2 [ L]和文字是site.com/MG4YBAOW18QH/3.png – calculataur 2014-09-24 07:45:36

回答

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] 
+0

使用你的重寫我仍然可以訪問這兩個頁面,並給出了圖像和CSS的重定向循環。我更新了我的主要重寫與你 – calculataur 2014-09-24 08:16:20

+0

你仍然可以訪問'http: // www.example.com/MG4YBAOW18QH/3.png'來自'192.168.230.25' IP?檢查你從Apache日誌獲得的IP是什麼? – anubhava 2014-09-24 08:23:04

+0

我的IP地址是192.168.230.1 – calculataur 2014-09-24 08:31:05