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

.htaccess mod_rewrite:重写时查询字符串丢失,.htaccess,mod-rewrite,url-rewriting,.htaccess,Mod Rewrite,Url Rewriting,我的知识有限,需要一些帮助。我需要将所有页面请求重定向到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.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=gvgr30exolm 我需要重定向到 www.newdomain.com/page1.json?session=gvgr30exolm 但是当它是www.olddomain.com/page.json?=LKJHGF时,我需要它停留在旧域上,并且不会重定向。这可能吗?

使用您需要添加的标志(“查询字符串附加”)

,并可选地提供:

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

“PLZ紧急帮助”一开始不是一个好标题。你没有提到你在谈论
POST
。这不是一个查询字符串,而是在重定向时丢失的请求正文(
[R=301]
)。您还将注意到,重定向后对newdomain.com的请求是一个
GET
请求。你根本无法将post请求作为post请求重定向到另一台服务器。我的问题是,我该怎么做?你自己问:你真的需要担心有人将post请求发送到旧的URL吗?所有表单都将指向新的URL,对吗?