2016-08-17 100 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

相关问题