.htaccess 用另一个get参数重写查询字符串

wlp8pajw  于 2022-11-16  发布在  其他
关注(0)|答案(1)|浏览(122)

我有这样一个链接:

/catalog/section/?PAGEN_1=1&search=someWord

/news/?PAGEN_1=2

其中PAGEN_1=(页码)
我尝试将URL设置为:

/catalog/section/?page=1&search=someWord

/news/?page=2

但这对我不起作用。我做错了什么?

RewriteCond %{QUERY_STRING} (?:^|&)PAGEN_1=(.*)$
RewriteRule ^/(.*)$ /$1?page=%1 [L,R]

我需要保存另一个GET参数。

djp7away

djp7away1#

您可以使用此规则将查询参数从PAGEN_1重新命名为page

RewriteCond %{QUERY_STRING} ^(.*&)?PAGEN_1=([^&]*)(&.*)?$ [NC]
RewriteRule ^ %{REQUEST_URI}?%1page=%2%3 [R=302,L,NE]

验证R=302工作正常后,将其替换为R=301。测试mod_rewrite规则时,请避免使用R=301(永久重定向)。

相关问题