2015-12-01 65 views
0

我有一個Apache服務器,我有文件夾放置了星號通話記錄。 我有一個777權限的文件夾,裏面有記錄。 記錄名稱是隨機散列,所以很難拿起它們。但我需要拒絕站點用戶訪問此目錄。 我嘗試了chmod 700到目錄,並在其中添加了與deny from all的htaccess。但這不起作用。我仍然可以進入目錄並查看所有文件。 UPD1 拒絕所有開始工作,但記錄不起作用。 UPD2 有什麼不對,帥哥? 這是我conf.file的網站,提供一個片段關閉訪問文件夾,但打開文件

<Directory /var/www/domain.com> 
     php_admin_flag engine on 
     Options -ExecCGI -Indexes 
</Directory> 

ExecCGI是以前,我決定不將其刪除。爲什麼在星號重啓後這不起作用?

+0

是它上市的文件嗎? –

+0

是的。它列出了這些文件。 –

回答

1

嘗試

RewriteEngine on 

RewriteRule ^foldername/?$ - [F,L] 

OR 您還可以使用redirectMatch禁止到該文件夾​​

RedirectMatch 403 ^/folder_name/?$ 

這個訪問將返回403 Forbidden錯誤的文件夾中。

+0

我有一些問題,似乎htaccess不能在服務器上工作。我明天要檢查一下,然後接受你的回答 –

+1

@SergeyScopin我沒有回答你的問題的原因是你可能已經建立了索引。如果是這種情況,所有你需要的是'Options -Indexes'來防止列表。 –

+0

@PanamaJack,對不起,我沒有注意到你的問題。這是.htaccess,對吧?我發現這根本不起作用,因爲我在那裏放置了隨機符號,重新啓動了apache並且站點沒有失敗。可能是我會使用你的變種。 –

1

我認爲(問題不明確),你想讓任何擁有完整URL的人能夠訪問文件,但是阻止他們在目錄中執行文件列表。

最簡單的方法可能是創建一個虛擬index.html文件目錄(使web服務器提供該文件,而不是目錄內容):

$ touch /var/www/domain.com/folder_name/index.html 
+0

好的解決方案。但我認爲PanamaJack的解決方案更爲正確。 –

+0

定義「正確性」。一個關鍵的區別是我的解決方案既不需要管理員訪問網絡服務器,也不需要工作的.htaccess設置。它也縮短了16個字節。 –