PHP重定向(301)隐藏查询字符串

PHP重定向(301)隐藏查询字符串,php,.htaccess,mod-rewrite,redirect,url-rewriting,Php,.htaccess,Mod Rewrite,Redirect,Url Rewriting,我正在尝试使用PHP重定向页面(我认为它必须是PHP,而不是.htaccess,因为涉及到很多页面,重定向所需的信息保存在数据库中) 我试图从中重定向的页面已被重新写入,看起来像: www.example.com/shop/department/section/product1/ 重新写入www.example.com/content.php?dept=department§=section&prod=product 然而,当我使用php头($url,TRUE,301)中的$url是(例

我正在尝试使用PHP重定向页面(我认为它必须是PHP,而不是.htaccess,因为涉及到很多页面,重定向所需的信息保存在数据库中)

我试图从中重定向的页面已被重新写入,看起来像:

www.example.com/shop/department/section/product1/

重新写入www.example.com/content.php?dept=department§=section&prod=product

然而,当我使用php
头($url,TRUE,301)中的$url是(例如)www.example.com/shop/destart/section/product2/它重新指向:

www.example.com/shop/department/section/product2/?dept=department§=section&prod=product

我只想要www.example.com/shop/department/section/product2/

我知道如何在.htaccess中阻止这种情况,但不是php,有什么想法吗

非常感谢,

斯图尔特

p、 美国的重写规则是:

RewriteRule ^shop/([a-zA-Z0-9\-_]+)/([a-zA-Z0-9\-_]+)/([a-zA-Z0-9\-_]+)/?$ /content.php?dept=$1&sect=$2&prod=$3 [L,NC,QSA]
RewriteRule ^shop/([a-zA-Z0-9\-_]+)/([a-zA-Z0-9\-_]+)/?$ /content.php?dept=$1&sect=$2 [L,NC,QSA]
RewriteRule ^shop/([a-zA-Z0-9\-_]+)/?$ /content.php?dept=$1 [L,NC,QSA]
RewriteRule ^shop/ /content.php [L,NC,QSA]

这是一个令人困惑的问题。。。发布您的重写规则。我附和一下,听起来您的重写规则上有[R=301]标志,如果您试图简单地将地址别名为“pretty”URI,它们就不应该有[R=301]标志。很抱歉,这让人困惑,只是尝试提供尽可能多的信息。规则在上面。我有QSA在那里,所以当谷歌adwords点击页面上的脚本时,可以跟踪gclid get变量。编辑问题并将其发布在那里。评论部分太混乱了,无法进行筛选。我不知道用这些重写规则怎么能得到这么长的URL。QSA只是将请求URL的查询字符串附加到重定向URL。来自谷歌的链接应该是example.com/shop/department/section/product2/?gclid=blah,这不会引起任何问题。听起来你好像把事情搞砸了,你没给我们看。我仍然不明白你为什么要尝试头重定向?这是一个令人困惑的问题。。。发布您的重写规则。我附和一下,听起来您的重写规则上有[R=301]标志,如果您试图简单地将地址别名为“pretty”URI,它们就不应该有[R=301]标志。很抱歉,这让人困惑,只是尝试提供尽可能多的信息。规则在上面。我有QSA在那里,所以当谷歌adwords点击页面上的脚本时,可以跟踪gclid get变量。编辑问题并将其发布在那里。评论部分太混乱了,无法进行筛选。我不知道用这些重写规则怎么能得到这么长的URL。QSA只是将请求URL的查询字符串附加到重定向URL。来自谷歌的链接应该是example.com/shop/department/section/product2/?gclid=blah,这不会引起任何问题。听起来你好像把事情搞砸了,你没给我们看。我还是不明白你为什么要尝试头重定向?