.htaccess重定向更改参数值

时间:2016-09-03 21:28:01

标签: apache .htaccess

我想更改网址

/index.php?main_page=product_info&cPath=1&products_id=4 

/index.php?main_page=product_info&cPath=141&products_id=302

我试过了

RewriteRule ^products_id=4$ products_id=302

但这似乎并不匹配。

我的.htaccess文件目前包含

RewriteEngine on
Options +FollowSymLinks
RewriteRule ^products_id=302$ products_id=4 [L,R=301]

似乎我可以使用像

这样的东西
RewriteCond %{QUERY_STRING} ^(([^&]*&)*)products_id=4(&.*)?$
RewriteRule ^index\.php$ /index.php?%1products_id=302%3 [L,R=301]

但这并不可靠。 (如果我点击链接,它不起作用,但是如果我在地址栏中输入该URL,则确实如此。)

1 个答案:

答案 0 :(得分:1)

请尝试以下规则:

RewriteEngine on

RewriteCond %{THE_REQUEST} /index\.php\?main_page=([^&]+)&cPath=1&products_id=4\sHTTP [NC]
RewriteRule ^ /index.php?main_page=%1&cPath=141&products_id=302 [L,R]