我想这样做,没有人可以直接从浏览器访问特定的目录或文件。但是我想这样做可以防止目录和文件通过网站访问。
使用以下代码,我可以阻止从浏览器直接访问“data”文件夹。但是当我从网站上查看时,所有来自“数据”文件夹的内容都没有显示(意味着无法访问)。
RewriteRule ^(data/) - [F,L,NC]
使用下面的代码,我可以阻止从浏览器直接访问下面提到的扩展文件。但是当我从网站上查看时,所有带有这些扩展名的内容都没有显示(意味着无法访问)。
RewriteRule \.(gif|jpg|wmv)$ - [F]
我应该在.htaccess中做些什么改变才能使它成为可能?
答案 0 :(得分:0)
试试这个:
RewriteCond %{HTTP_REFERER} !^https://(www\.)?yoursite\.com/ [NC]
RewriteRule \.(jpe?g|gif|bmp|png)$ - [F]
现在的问题是,当有人在浏览具有这些文件之一的页面并打开源代码时,他将能够直接从缓存中浏览该文件,除非重新加载页面,所以如果你想要防止它,你可以为特定提到的扩展禁用缓存,但 你必须知道在禁用缓存之前这意味着什么。