我有一个目录files
,其中包含我不希望直接访问的文件
如果您访问www.mywebiste.com/files/myfile.pdf,那么您将被重定向。
但我希望可以从网站的其他部分访问这些文件。 即。我可能有一个页面www.mywebiste.com/dave/page/,它需要能够在文件目录中显示文件。
我在文件目录中尝试了以下htacccess,但它无效:
RewriteEngine ON
RewriteCond %{HTTP_REFERER} ^http://www.mywebiste.com/files/ [NC]
RewriteRule ^.*$ - [R=404,L]
答案 0 :(得分:4)
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_REFERER} ^$
RewriteRule ^files/.*$ - [F]
您也可以使用:
RewriteCond %{HTTP_REFERER} !^http://(www.)?mywebiste.com/.*$ [NC]
RewriteRule ^files/.*$ - [F]
由于引用来自于被称为页面的页面,因此页面可以是您域中的任何内容,因此我可以使用^http://(www.)?mywebiste.com/.*$
,如果您感觉更舒服,也可以使用^http://(www.)?mywebiste.com
。
如果refer为空且文件夹是文件拒绝访问它。
PS:http://(www.)?mywebiste.com
表示网站地址有www.
或不是。
对于机器人,即使引用为空,也可以使用用户代理来访问。
robots.txt
示例:
User-agent: *
Disallow: /files/