【问题标题】:htaccess image restriction is working perfectly on all domain and also working my local host but not working http://192.168.4.2htaccess 图像限制在所有域上都可以正常工作,也可以在我的本地主机上工作,但不能正常工作 http://192.168.4.2
【发布时间】:2018-05-29 14:55:51
【问题描述】:

我有以下 .htaccess 文件内容:
为简洁起见,该文件已被剪辑。

Options -Indexes
RewriteEngine on 
RewriteCond %{HTTP_REFERER} !^http://192.168.4.2 [NC] 
RewriteCond %{HTTP_REFERER} !http://192.168.4.2 [NC]
RewriteRule \.(jpg)$ - [F]

这个想法是禁止使用jpg 扩展名(使用F|forbidden 标志)。

这在所有环境中都可以正常工作,除了我在http://192.168.4.2 的 IP。
任何澄清将不胜感激。

【问题讨论】:

  • 避免大写。更好地格式化你的问题。添加您的代码(您尝试过的代码),以便可以重新创建它并清楚地解释您寻求帮助的问题/问题。请查看帮助部分 (stackoverflow.com/help),了解如何提出问题。

标签: apache .htaccess mod-rewrite


【解决方案1】:

问题似乎是因为RewriteCond 中的模式字符串使用完整的 URL (http://localhost/vpn) 而不是相对的 URL (/vpn)。你可能想试试这个 -

 <IfModule mod_rewrite.c>
    Options -Indexes
    RewriteEngine on 
    RewriteCond %{HTTP_REFERER} !^/vpn [NC] 
    RewriteCond %{HTTP_REFERER} !/vpn [NC]
    RewriteRule \.(jpg)$ - [F]
</IfModule>

【讨论】:

  • 对不起,我的代码已更改。请在此 url 192.168.4.2 中帮助我
  • 您的代码到底发生了什么变化?只是IP地址?还是 URL 结构?
  • 是的,我只是在这个网址中更改了我的网址问题,请帮助我
【解决方案2】:

根据您对问题详细信息的更改更新了答案 - 您必须按如下方式更改您的RewriteCond

Options -Indexes
RewriteEngine on 
RewriteCond %{REMOTE_ADDR} !^192\.168\.4\.2$ 
RewriteRule \.(jpg)$ - [F]

使用条件%{REMOTE_ADDR} 而不是%{HTTP_REFERER}

可能重复 - mod_rewrite based on ip

【讨论】:

  • 你为什么发布两个答案...?它们不能被连接起来吗?一个是多余的吗?
  • OP 更改了他/她的问题的原始描述。在进行此更改之前,已针对原始描述发布了第一个答案。
  • 那么我敢打赌,如果不再需要该问题,您可能应该删除它。
【解决方案3】:

快速谷歌并阅读文档后,我找到了这个链接:
https://httpd.apache.org/docs/2.4/rewrite/access.html#blocked-inline-images

尝试将您的代码更改为:

Options -Indexes
RewriteEngine on 
RewriteCond "%{HTTP_REFERER}"  "!^$"                      # no referer (they entered the URL directly)
RewriteCond "%{HTTP_REFERER}"  "!http://192.168.4.2" [NC] # they came from an address at "www.example.com"
RewriteRule "\.(gif|jpg|png)$" "-" [F,NC]                 # the extension to block, separated by a pipe ("|")

几点说明:

  • 删除了无意义的RewriteCond (!^http://192.168.4.2)。
    插入符号来自 RegEx,用于表示模式的开始。这意味着您的两条规则实际上是相同的。
  • 添加了空白引用模式。
  • 添加了其他扩展。
    这来自文档,您阻止的扩展由您决定。
  • 添加了一些 cmets 进行解释。

【讨论】:

    猜你喜欢
    • 2018-03-07
    • 1970-01-01
    • 2012-07-26
    • 1970-01-01
    • 2017-12-12
    • 1970-01-01
    • 1970-01-01
    • 2015-08-28
    • 1970-01-01
    相关资源
    最近更新 更多