【问题标题】:301 redirect with query strings使用查询字符串进行 301 重定向
【发布时间】:2015-06-15 22:47:04
【问题描述】:

我是编程新手,也是这个网站的新手(尽管在我尝试学习这些东西时它已经帮助了很多次......所以感谢到目前为止的所有帮助!)。

我的问题与 301 重定向有关。我一直在通过谷歌搜索这个网站以及许多其他页面,但似乎找不到适合我的解决方案(我猜该解决方案可能已经存在,因为它似乎是一个常见问题.. .但我还没有找到它)。

原来是这样:

我有一个网站,其中:http://homework-heroes.com/php/views/newAssignment.php?[then 任何查询字符串] 总是转到同一页面。

为了消除 google 看到的重复内容,我希望这些内容始终重定向到:http://homework-heroes.com/php/views/newAssignment.php?final

我应该插入什么 htaccess 代码来完成此操作?

提前致谢!

【问题讨论】:

    标签: .htaccess redirect


    【解决方案1】:

    将以下内容放入您的 /.htaccess 文件中:

    RewriteRngine On
    RewriteRule %{QUERY_STRING} !^$
    RewriteRule %{QUERY_STRING} !^final$
    RewriteRule ^(php/views/newAssignment.php)$ /$1?final [R=302,NC,L]
    

    上面基本上说如果查询字符串不为空并且正在向/php/views/newAssignment.php发出请求,然后以?final作为新的查询字符串重定向到同一页面。

    或者,如果您想完全删除查询字符串,只需删除final,在规则中留下问号,然后删除第二个条件。

    如果您满意并希望永久重定向,请将 302 更改为 301。

    【讨论】:

    • 感谢迈克的回复。当我将它放入 htaccess 文件时,当我实际尝试转到该页面时,我最终会遇到错误。它说“ERR_TOO_MANY_REDIRECTS”..​​....知道这是怎么回事吗?
    • 道歉 - 今天早上太早发布了我的答案。已编辑。
    • 太棒了!谢谢迈克。
    猜你喜欢
    • 1970-01-01
    • 2012-09-18
    • 1970-01-01
    • 2011-01-30
    • 1970-01-01
    • 2011-01-23
    • 2017-04-13
    • 2017-10-04
    • 1970-01-01
    相关资源
    最近更新 更多