除非来自指定文件,否则如何阻止对文件或目录的请求?

时间:2013-05-14 16:23:04

标签: php .htaccess mod-rewrite

在我的.htaccess文件中,我有以下RewriteRules:

RewriteRule ^content/(.*)\.(txt|md|mdown)$ error [R=301,L]
RewriteRule ^site/(.*) error [R=301,L]

这些可以阻止对txt|md|mdown文件类型和整个site/目录的直接访问。

也就是说,我正在构建一个.appcache文件来缓存我的网站以供离线查看,并且需要能够从.appcache文件访问这些文件和目录。我设置了.appcache文件,我在浏览器中收到以下错误:

Application Cache Error event: Resource fetch failed (-1) http://website.com/site/panel/blueprints/home.php

是否可以更新RewriteRule以允许从此文件进行访问?

2 个答案:

答案 0 :(得分:1)

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?yoursite.com.br/.*$ [NC]
RewriteRule .*\.(pdf|cdr|indd|psd|jpg|jpeg|ai|zip|rar|7z)$ - [F]

只需将yourrsite.com替换为您的网站,将* $替换为您需要的特定文件。

答案 1 :(得分:0)

<Files "file_name.appcache"> 
  // rewrite yours in it
</Files>

希望它有所帮助:)