【问题标题】:Block one specific URL by htaccess通过 htaccess 阻止一个特定的 URL
【发布时间】:2013-08-11 15:48:04
【问题描述】:

我找不到这个问题的解决方案。也许我使用了错误的搜索词? (htaccess block url, htaccess block single url, block specific url htaccess, ...)

我有一个带有这样 URL 的页面:

https://www.mathelounge.de/40224/redaktionelle-frage-wann-antwort-wann-lediglich-kommentar

我想屏蔽这个网址,因为不同的机器人(和人类)。

我在 htaccess 中尝试了以下规则:

RewriteCond %{REQUEST_URI} ^40224\/$ [NC]
RewriteRule .* - [F]

没有成功。

【问题讨论】:

    标签: .htaccess


    【解决方案1】:

    当有人请求时:

    https://www.mathelounge.de/40224/redaktionelle-frage-wann-antwort-wann-lediglich-kommentar
    

    %{REQUEST_URI} 变量是:

    /40224/redaktionelle-frage-wann-antwort-wann-lediglich-kommentar
    

    而正则表达式^40224\/$ 永远不会匹配。实际上,在这种情况下,您甚至不需要 RewriteCond,只需将模式放入规则中即可:

    RewriteRule ^40224/redaktionelle-frage-wann-antwort-wann-lediglich-kommentar$ - [F]
    

    请注意,规则本身的模式不会以 / 开头,这是因为对于规则,它被剥离了,但对于 %{REQUEST_URI} var,它被保留了。

    【讨论】:

      【解决方案2】:

      这个也可以用:

      RewriteCond %{HTTP_REFERER} 40224/redaktionelle-frage-wann-antwort-wann-lediglich-kommentar [NC,OR]
      

      【讨论】:

      • 欢迎来到 Stackoverflow!不要忘记格式化以帮助您的答案更具可读性。您可以查看 Stackoverflow 上的降价指南。干杯! stackoverflow.com/help/formatting
      【解决方案3】:

      我们不能禁止 robots.txt 上的 URL 并提交它。我认为那会是更好的方法。

      【讨论】:

      • 这如何阻止人类访问 URL?没关系,尊重 ROBOTS.txt 的内容是完全可选的,没有机器人有义务这样做。
      猜你喜欢
      • 2014-08-18
      • 1970-01-01
      • 2023-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-23
      • 1970-01-01
      相关资源
      最近更新 更多