【问题标题】:htaccess rewrite condition for vertical bar (pipe)竖线(管道)的htaccess重写条件
【发布时间】:2015-09-24 13:10:22
【问题描述】:

我的 Google 网站管理员工具向我显示了以下类型的数百个抓取错误:

/images/logo.jpg%7C

我找不到问题的根源,因为该网站似乎运行良好,所以我在想是否可以编写一个重写条件,将所有这些 url 更改为

/images/logo.jpg

这样就可以了。

这可以通过 htaccess 中的重写条件来完成吗?如果如何? 还有其他建议吗?

【问题讨论】:

  • 您还记得您的 DNS 提供商是谁吗?我们看到了类似的情况,但无法弄清楚为什么googlebot 会突然抓取此类请求。

标签: .htaccess mod-rewrite url-rewriting google-crawlers


【解决方案1】:

尝试以下方法:

RewriteEngine On
RewriteRule ^(.*)\|$ /$1 [R=302,L]

这会删除 URL(任何 URL)末尾的竖线字符。管道符号(竖线)需要在正则表达式中进行反斜杠转义以否定其特殊含义。

当您确定它工作正常时,将302(临时)替换为301(永久)。

【讨论】:

  • 嗨@w3d,感谢您的帮助,但不幸的是这不起作用,我仍然收到相同的错误:禁止您无权访问/images/logo.jpg|在这台服务器上。
  • 这是在文档根 .htaccess 文件中吗?您在此文件中还有其他指令吗?上面的指令需要放在顶部。
  • 你是对的,现在我把它放在 htaccess 的开头就可以了。非常感谢@w3d
  • 一个小提示:在 Windows 平台上这是行不通的。阅读Bug 41441了解更多信息。
猜你喜欢
  • 2023-04-05
  • 2011-04-03
  • 1970-01-01
  • 1970-01-01
  • 2021-10-15
  • 1970-01-01
  • 2019-04-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多