htaccess操作查询字符串

时间:2018-09-25 21:07:07

标签: .htaccess

我正在尝试编写htaccess规则以转换以下形式的URL:

http://example.com/PageViewer.aspx?id=348

收件人:

http://example.com/?page_id=15348

数字15是常数,后跟原始URL中的id值。

我尝试了以下规则:

RewriteCond %{QUERY_STRING} ^(.*)\id=(.*)$
RewriteRule ^(.*)PageViewer\.aspx$ $1?%1page_id=15%2 

但是,我得到的结果是这样的:

http://example.com/page_id=15348/?id=348

为什么规则中使用的问号不存在?为什么查询字符串显示在结果URL的末尾?我不完全了解htaccess重写规则...

1 个答案:

答案 0 :(得分:1)

使用[NE]标志解决

RewriteCond %{QUERY_STRING} ^(.*)\id=(.*)$
RewriteRule ^(.*)PageViewer\.aspx$ $1?%1page_id=15%2 [NE]