使用正则表达式更改htaccess中的url参数

时间:2017-09-18 14:14:52

标签: regex .htaccess

我的网页包含以下参数:/article.php?sid=123&cat1=en

我需要将cat1更改为cat并重定向到同一地址。

我已经尝试了RewriteRule ^/article.php?sid=(.*)&cat1=(.*)$ /article.php?sid=$1&cat=$2 [R=301,L],但它无效。

1 个答案:

答案 0 :(得分:1)

您可以使用此规则来匹配&在任何位置替换给定的查询参数。

将此规则作为您的第一条规则:

RewriteEngine On

RewriteCond %{QUERY_STRING} ^(.*&)?cat1=([^&]*(?:&.*)?)$ [NC]
RewriteRule ^article\.php$ %{REQUEST_URI}?%1cat=%2 [R=301,NE,L]