2016-08-17 93 views
2

我想寫一個.htaccess文件只允許訪問pdf文件在子目錄中。我將在一個我不控制的主機上部署該文件,因此我無法更改apache配置。.htaccess只允許在一個子目錄中的pdf文件

我想只允許訪問Foo目錄中的.pdf文件。我曾嘗試:

Deny From All 

<FilesMatch ".+\/Foo\/.+\.pdf$"> 
Allow From All 
</FilesMatch> 

然而,當我試圖訪問example.com/bar/Foo/baz.pdf,我給出一個HTTP 403禁止響應。

如何拒絕訪問所有內容,除了某個特定目錄下的pdf文件?

感謝

+0

可能重複這個:拒絕在特殊目錄訪問特定文件類型(HTTP://計算器.com/questions/16108399 /拒絕訪問特定文件類型的特定目錄) –

回答

1

創建這裏面根本的.htaccess作爲你的第一個規則:

RewriteEngine On 

# prohibit everything except .pdf files  
RewriteRule ^foo/(?!.*\.pdf$) - [F,NC] 
+0

這將工作,但我不希望把它放在子目錄中。我怎樣才能擴展正則表達式?我嘗試過'!^。+ \/Foo \ /.+ \。pdf $',但它對我沒有幫助。 – user1024203

+0

好吧現在嘗試我的更新規則。 – anubhava

+0

我想我現在明白了。我試圖得到的是'RewriteRule!^ Foo \ /.+ \。pdf $ - [F,NC]'。謝謝! – user1024203

相關問題