我在我的文件服务器的public_html文件夹的htaccess中有这个:
RewriteEngine On RewriteBase / ReWriteCond %{REQUEST_URI} ^/files/* RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mysite.net/.*$ [NC] RewriteRule \.(gif|png|jpg|jar|sis|mp3|thm)$ - [F]
我在mysite.net/files目录下有很多的文件夹和文件,我想阻止它从mysite.net以外的站点直接下载。 但是,尽pipe我知道.htaccess文件已启用,但上述规则似乎无法正常工作。 在某些情况下,它只会阻止图像,而不会阻止文件。 请告诉我这个脚本有什么问题,或者如果我可以使用任何其他的指令来防止外部网站不断地篡改我的文件。 谢谢
如果添加“。*”,有帮助吗?
RewriteRule .*\.(gif|png|jpg|jar|sis|mp3|thm)$ - [F]
另外,你的路线:
ReWriteCond %{REQUEST_URI} ^/files/*
意味着(最后)“一个零碎或更多的斜线”。 你可以尝试:
ReWriteCond %{REQUEST_URI} ^/files/.*
意思是“斜线,然后任何字符零次或多次”。
编辑 :您的一些文件可能用大写扩展名命名。 你可以尝试:
RewriteRule .*\.(gif|png|jpg|jar|sis|mp3|thm)$ - [F,NC]