我正在使用 Apache,假设在“images/sample.jpg”中有一个文件。
使用 .htaccess,我怎样才能让它出现在网站上,然后阻止通过 url 直接访问 (< em>例如,像“http://www.abc.com/images/sample.jpg”这样的直接 url) ?
如果可能,我还希望解决方案影响“.htaccess”文件下的所有子文件夹。
补充说明:
在获得以下答案一天后,我发现所有解决方案在逻辑上都有效,但 Firefox 存在问题。我的意思是,下面的答案是在每个浏览器上测试时给出的解决方案,但不是在 Firefox 上。
最佳答案
这称为“热链接”——我建议您先阅读它,因为它不仅仅是您的 .htaccess 中的一行或一段代码。此页面不错:http://altlab.com/htaccess_tutorial.html
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mysite\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule .*\.(jpe?g|gif|bmp|png)$ http://i.imgur.com/qX4w7.gif [L]
这将显示来自 imgur 的图像,但有时我喜欢更进一步并托管来 self 自己的主机的替代图像 - 例如,如果它是竞争对手,你可以玩得很开心;)
关于php - (htaccess) 如何使文件只能由主机服务器访问并防止直接访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10235563/