2011-06-15 63 views
1

尋找一些htaccess重寫規則來阻止除服務器本身之外的所有目錄訪問。這是一個充滿圖像和閃存swf文件的目錄。是的,我知道不希望直接訪問文件自己的目錄,而是允許用戶在受保護的目錄之外的其他html中引用時看到該文件,但那就是我之後的內容。我已經嘗試了幾種不同的方法,如下所示:htaccess規則阻止除服務器之外的所有服務器

# send them to index.php 
Options +FollowSymlinks 
RewriteEngine on 
#RewriteRule ^(.*)$ ../User/ [NC] 
#RewriteRule ^(.*)$ [R=301,L,NC] 

# no one gets in here! 
#deny from all 

Options All -Indexes 

<Limit GET POST PUT> 
order deny,allow 
deny from all 
allow from 192.168.0.0/33 
</Limit> 

他們都沒有真正做我想做的。其中一些阻止訪問所有內容,包括服務器本身。其他人將請求重定向到另一個頁面,但由於它保持相同的url,用戶重定向到「頁面」上的鏈接將無法工作。

如果可能的話,我甚至不想做404警告,因爲雖然這不允許用戶訪問目錄,但用戶仍然知道該目錄存在。

回答

1

您可以簡單地使用這一行的規則做到這一點:

RewriteRule ^mydir/ - [L,R=404,NC] 

這樣,所有的文件/mydir/下會產生404錯誤,您的訪客,但你的服務器仍然可以訪問這些文件。

+0

此規則將直接進入.htaccess文件'public_html' – anubhava 2011-06-15 00:36:26

+1

完美。你知道,當提問者沒有對答案進行批准/投票時,它總是困擾我。問題提出後六分鐘回答。六年後,它仍然有用。 – 2017-07-21 22:40:04

+0

謝謝@AlanM,OP得到答案後從網站上消失:) – anubhava 2017-07-22 04:53:03