我的文件服务器的 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 以外的网站直接下载。但是,尽管我知道 .htaccess 文件已启用,但上述规则似乎不起作用。在某些情况下,它只会阻止图像,而不会阻止文件。请告诉我该脚本有什么问题,或者我是否可以使用任何其他指令来防止外部网站不断窃取我的文件。谢谢
答案1
添加“.*”有帮助吗?
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]