【问题标题】:ASCII Characters in Links Producing 404 Errors产生 404 错误的链接中的 ASCII 字符
【发布时间】:2012-10-22 06:39:37
【问题描述】:

我曾经在我的所有网址中都有一个查询字符串 ?q=。我现在将这些 url 重定向到别名。

RewriteRule ^(.*)$ index.php?q=$1 [L,NC] RewriteCond %{QUERY_STRING} ^q=(.*)$ [NC] RewriteRule ^$(.*) /%1? [R=301,L,NE]

不幸的是,其他网站以这种方式链接到我网站上的页面 www.example.com/%3Fq%3Dfaqs。我将我网站上的所有链接都更改为绝对链接,但不知何故,谷歌已经索引了数百个看起来像 www.example.com/%3Fq%3Dfaqs?q=contact 或 www.example.com/%3Fq%3Dfaqs%3Fq% 的页面3D接触。 有没有办法可以使用 htaccess 或其他方法将这些 ASCII 代码重写回符号?

【问题讨论】:

  • 第二条规则没有意义!您正在寻找结束后的字符串。
  • 你在说这个吗? '^q=(.*)$' 应该是什么?此代码可以将我的网址从 example.com/?q=faqs 带到 example.com/faqs,但当这些符号替换为 %3F 和 %3D 时不起作用。
  • 这里没有这部分:^$(.*) 无论如何,目前我不明白 url 编码的 URL 是如何产生的。
  • 他们来自像 semisland.com/uscooler.com 这样的 seo 网站 他们甚至不是链接,但谷歌正在关注他们。我网站上的索引页面从 200 个增加到 1000 多个(不好)。
  • 搜索引擎优化网站?你的意思是链接农场让你的排名更高?根本不要那样做!那是作弊。

标签: .htaccess url-rewriting query-string ascii


【解决方案1】:

我通过写像Redirect 301 /?q=faqs example.com/?q=faqs 这样的行解决了这个问题,这将 /%3Fq%3Dfaqs 重定向到 /?q=faqs 重定向到 /faqs。可能不是最好的方法,但它确实有效。

【讨论】:

    猜你喜欢
    • 2011-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-19
    • 1970-01-01
    • 2021-07-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多