我想限制某些特定PDF文件的訪問權限,但是我的Apache配置有點麻煩。我已經得到了FilesMatch指令的工作方式如下:在DirectoryMatch中使用FilesMatch進行Apache基本身份驗證
<FilesMatch "\.pdf$">
AuthName "Permission Required"
AuthUserFile /path/to/.htpasswd"
Require valid-user
AuthType Basic
</FilesMatch>
現在我明白了,我不能在只是我的.htaccess文件更具體的,所以我不得不使用LocationMatch或DirectoryMatch在我配置文件。我試過以下,但沒有成功:
<VirtualHost *:80>
DocumentRoot "/var/www/somedomain.com/httpdocs"
ServerName somedomain.com:80
ServerAlias somedomain.com
<DirectoryMatch "^/uploads/(dir1|dir2)">
<FilesMatch "\.pdf$">
AuthName "Permission Required"
AuthUserFile "/var/www/somedomain.com/bin/.htpasswd"
Require valid-user
AuthType Basic
</FilesMatch>
</DirectoryMatch>
</VirtualHost>
實際文件位於:http://www.somedomain.com/uploads/dir1/somefile.pdf
我敢肯定,這是簡單的東西,但我不能讓它正常工作。
你打開'FilesMatch'並沒有關閉它(這適用於'DirectoryMatch')。 – undone 2012-03-28 15:38:11
對不起,我從錯誤的地方複製/粘貼 - 我確實有這條線未評論(現在在我的代碼中修復) – 2012-03-29 08:13:14