2012-12-26 187 views
1

只有特定的IP和引薦我有Apache的htaccess的規則集,以允許訪問其完全適用於處於維護模式下工作的某個IP地址。然而,這也阻止某些引薦像wordpress.com或來自google.com訪問該網站。當前的規則是:允許htaccess的

<IfModule mod_rewrite.c> 
RewriteEngine on 
RewriteCond %{REMOTE_ADDR} !^123\.123\.123\.123 

RewriteCond %{HTTP_REFERER} wordpress\.com [NC, OR] 
RewriteCond %{HTTP_REFERER} google\.com [NC] 
RewriteCond %{HTTP_REFERER} ^(.*)$ 
RewriteRule .* /maintenance.html [R=302] 

RewriteCond %{REQUEST_URI} !/maintenance.html$ [NC] 
RewriteCond %{REQUEST_URI} !\.(jpe?g?|png|gif) [NC] 
RewriteRule .* /maintenance.html [R=302,L] 

以上規則集的作品,但有毛刺它並不完美。某種程度上,網站可以從任何知識產權中獲取,而推薦人無可置疑。我需要一個允許從特定IP和某些推薦人訪問網站的規則集。

回答

1

我看來像行

RewriteCond %{HTTP_REFERER} ^(.*)$ 

匹配任何東西,使得其餘的條件靜音。那裏有什麼?

而且,當你在做什麼可能是罰款,你的目的,你要知道,這是不是很難創建一個假的引薦[原文]頭的請求。

另外,如果你的目標是讓這些特定的參照網址和凹凸其餘「maintenance.html」,那麼我想你想的匹配條件否定的參照網址。但我可能誤解你的意圖。

+0

刪除這條線,但仍然重定向到維護頁面忽略IP規則 – anithegregorian

+0

那麼,你的第二組條件/規則也將趕上一切,是不是和圖像或「offline.html」頁面。我相信「offline.html」,其實應該是「maintenance.html」和第一重寫規則應該走開,讓所有的電導率引至一個規則,對不對? –