【问题标题】:apache redirection is adding query string to the new urlapache重定向正在将查询字符串添加到新的url
【发布时间】:2012-05-17 04:51:50
【问题描述】:

apache mod rewrite 对我来说很奇怪: 我试图重定向这个: http://www.website.com/page.php?id=34 对此: http://www.website.com/

在 htaccess 中使用它:

RewriteCond %{QUERY_STRING} ^id=([0-9]*)$
RewriteRule ^page\.php$ "http://www.website.com" [R=301,L]

它工作正常,但它也将查询字符串添加到重定向的 url:

http://www.website.com/?id=34

如何从重定向的 url 中删除查询字符串?

【问题讨论】:

    标签: apache .htaccess mod-rewrite query-string


    【解决方案1】:

    默认情况下,mod_rewrite 不会更改查询字符串,它会保持它们不变并将它们传递给任何新的 URI。要删除它们,您需要以问号结束新 URL。您也不需要引号。这应该有效:

    RewriteRule ^page\.php$ http://www.website.com? [R=301,L]
    

    【讨论】:

      【解决方案2】:

      我不确定它是否会起作用,但请尝试:

      RewriteRule ^page\.php "http://www.website.com" [R=301,L]
      

      【讨论】:

      • 谢谢,但它仍然将查询字符串添加到新的 url
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-11-15
      • 1970-01-01
      • 2018-10-10
      • 1970-01-01
      • 2017-04-21
      • 2015-04-17
      • 1970-01-01
      相关资源
      最近更新 更多