【问题标题】:htaccess 301 redirect urls with question markhtaccess 301 重定向带有问号的 url
【发布时间】:2016-02-17 19:55:11
【问题描述】:

我注意到 Google Search Console 中报告的许多链接在域 (index.php.) 的根后带有问号

发生这种情况是因为我将旧域重定向到新域。 我想使用 htaccess 访问 301 ONLY 在根级别有问号的页面。

例如:

?name=TheFoolOnTheHill
?name=PennyLane

都将重定向到域的根级别。

但它不会影响其他网址,例如:

/songs/?name=TheFoolOnTheHill
/songs/?name=PennyLane

对于如何完成此操作,我将不胜感激。

【问题讨论】:

    标签: php .htaccess redirect mod-rewrite


    【解决方案1】:

    您可以为此使用重写。尝试在根级别使用查询字符串的任何 url。

    RewriteEngine on
    RewriteCond %{QUERY_STRING} .
    RewriteRule ^$ /? [R=301,L]
    

    这样的网址

    http://example.com/?name=123
    

    将重定向到根目录。

    【讨论】:

    • 希望你不介意我的编辑。这是防止重定向循环所必需的
    • @anubhava 是的,没错。
    【解决方案2】:

    这可以通过您的 .htaccess 文件解决。

    Redirect 301 ?name=TheFoolOnTheHill /
    Redirect 301 ?name=PennyLane /
    

    【讨论】:

    • 是的。我希望我能得到在根级别重定向任何东西的公式?到根。但如果它发生在其他目录中,它会忽略它。
    • 在这种情况下,您将 google 中的每个跟踪错误 URL 设置为您的根目录。好的,有时它可能是一个非常大的数字,但是一旦你这样做了,你就不会再收到这些错误了。
    猜你喜欢
    • 2016-10-11
    • 1970-01-01
    • 2012-08-29
    • 2014-01-06
    • 2021-07-06
    • 1970-01-01
    • 1970-01-01
    • 2014-10-25
    • 1970-01-01
    相关资源
    最近更新 更多