.htaccess重写以保留尾随变量

.htaccess重写以保留尾随变量,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,我的.htaccess重写尝试无效。我希望请求/directory-1/productorder?I=38371转到/directory-2/38371,其中编号38371可能有所不同 到目前为止,我的重写: RewriteEngine On RewriteRule ^/directory1/productorder?i=(.+)$ /directory2/$1 [L] 页面没有使用我的当前实现重定向。请尝试: RewriteEngine On RewriteCond %{THE_REQUES

我的
.htaccess
重写尝试无效。我希望请求
/directory-1/productorder?I=38371
转到
/directory-2/38371
,其中编号
38371
可能有所不同

到目前为止,我的重写:

RewriteEngine On
RewriteRule ^/directory1/productorder?i=(.+)$ /directory2/$1 [L]
页面没有使用我的当前实现重定向。

请尝试:

RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/?directory-1/productorder\?i=([^&\s]+) [NC]
RewriteRule ^ /directory2/%1? [NE,NC,R,L]
由于以下原因,您的重写规则不起作用:

1) 如果您使用的是apache版本2,则重写规则指令中不需要前导斜杠

2) 查询字符串不是重写规则中匹配的一部分。

请尝试:

RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/?directory-1/productorder\?i=([^&\s]+) [NC]
RewriteRule ^ /directory2/%1? [NE,NC,R,L]
由于以下原因,您的重写规则不起作用:

1) 如果您使用的是apache版本2,则重写规则指令中不需要前导斜杠


2) 查询字符串不是规则中匹配的一部分。

谢谢@Starkeen。页面没有使用您的实现重定向。请尝试更新的答案,我已在重写规则中添加了一个NE no escape标志谢谢@Starkeen。是的,我也有同样的想法并且逃过了那场战争?但是没有添加NE no escape标志。结果是根本没有重定向。所以我认为我没有走上正轨。逃离这个世界?加上NE no escape标志就成功了。谢谢@Starkeen。页面没有使用您的实现重定向。请尝试更新的答案,我已在重写规则中添加了一个NE no escape标志谢谢@Starkeen。是的,我也有同样的想法并且逃过了那场战争?但是没有添加NE no escape标志。结果是根本没有重定向。所以我认为我没有走上正轨。逃离这个世界?加上NE no escape标志就成功了。谢谢@Starkeen。页面没有使用您的实现重定向。请尝试更新的答案,我已在重写规则中添加了一个NE no escape标志谢谢@Starkeen。是的,我也有同样的想法并且逃过了那场战争?但是没有添加NE no escape标志。结果是根本没有重定向。所以我认为我没有走上正轨。逃离这个世界?添加NE no escape标志就成功了。