【问题标题】:.htaccess redirect avatar's image folder to 404 custom page.htaccess 将头像的图片文件夹重定向到 404 自定义页面
【发布时间】:2013-10-25 19:30:45
【问题描述】:

基本上,出于隐私考虑,我正在尝试重定向用户从 url 使用 .htaccess 文件访问数据库目录中头像的图像/文件夹。用户应该看不到其他头像的图片

我在 google 上找到了如何将用户从访问头像的图像文件夹重定向到自定义 404 错误页面,例如

http://localhost/avatar/images/

http://localhost/404error

将此代码放入 .htaccess 文件中

Redirect /avatar/images http://localhost/404error

它确实重定向了,但问题是包含/需要文件夹中的图像文件的页面无法打开。它显示图像文件无效,但在我将重定向代码放入 .htaccess 文件之前它确实显示了图像。

在不阻止其他页面显示图像的情况下,将私人文件夹重定向到自定义 404 错误页面的最佳方法是什么。

提前致谢!

【问题讨论】:

    标签: apache .htaccess mod-rewrite redirect


    【解决方案1】:

    您可能可以使其基于 HTTP_REFERRER(但请记住,REFERRER 可能会被黑客入侵)。

    通过httpd.conf 启用mod_rewrite.htaccess,然后将此代码放入您的DOCUMENT_ROOT/.htaccess 文件中:

    RewriteEngine On
    RewriteBase /
    
    RewriteCond %{HTTP_REFERER} !^$ 
    RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain\.com/ [NC] 
    RewriteRule ^avatar/images/.+ - [F,NC]
    

    如果直接访问/avatar/images/ URL,这将给禁止错误,同时允许您网站的页面访问它们。

    【讨论】:

    • 感谢您的回复。我不知道为什么它似乎对我不起作用。 HTTP_REFERER 究竟是如何工作的?以及如何在我的本地主机上使用它。
    • HTTP_REFERER 由浏览器在您单击网站的任何页面时设置。你能解释一下I dont know why it doesn't seems to work for me
    • 我已经放了代码,但仍然可以访问 images/ 文件夹。我怎样才能将这一行 RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain\.com/ [NC] 编辑为 localhost/ ?
    猜你喜欢
    • 2016-11-21
    • 2014-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-01
    • 1970-01-01
    • 2015-08-01
    相关资源
    最近更新 更多