mod_rewrite:查询字符串在重写时丢失

时间:2013-02-13 13:06:37

标签: .htaccess mod-rewrite url-rewriting

我对.htaccess知识有限,需要一些帮助。我需要将所有页面请求重定向到www.newdomain.com,但www.olddomain / page.json除外,但查询字符串在重定向时会被删除。我怎么能保存它?非常感谢!

当前代码:

RewriteEngine on
RewriteCond %{REQUEST_URI} !^/page.json
RewriteRule (.*) http://newdomain.com/$1 [R=301,L]

编辑:为了说清楚,我只需要留在旧域上的page.json上,让我们说www.olddomain.com/page1.json?session=gVgr30ExUlM的用户请求 我需要重定向到 www.newdomain.com/page1.json?session=gVgr30ExUlM 但是当它是www.olddomain.com/page.json?=LKJHGF时我需要它留在那个旧域并且不会重定向是否可能?

2 个答案:

答案 0 :(得分:2)

使用[QSA]标志(“查询字符串追加”)

答案 1 :(得分:0)

您需要添加[QSA]和可选的[NE],它们可以为您提供:

RewriteRule (.*) http://newdomain.com/$1 [QSA,NE,R=301,L]