使用htaccess为多个查询字符串参数重写WordPress的URL

使用htaccess为多个查询字符串参数重写WordPress的URL,wordpress,apache,.htaccess,web,Wordpress,Apache,.htaccess,Web,我们的主要网站是WordPress。我们有带有各种查询字符串参数的外部链接。不幸的是,其中一些会干扰WordPress(例如,“s”是保留的) 我想用htaccess设置重写规则,因为我已经在为网站做一些事情了。我的问题是,我需要用新名称替换查询字符串参数,这样它们就不会冲突 可能的参数和映射: 'l' -> 'li' 's' -> 'si' 'g' -> 'gi' 'i' -> 'ii' 它们可以以任何顺序出现,但基本上需要用上述映射替换。例如: 从 (订单不可预测)

我们的主要网站是WordPress。我们有带有各种查询字符串参数的外部链接。不幸的是,其中一些会干扰WordPress(例如,“s”是保留的)

我想用htaccess设置重写规则,因为我已经在为网站做一些事情了。我的问题是,我需要用新名称替换查询字符串参数,这样它们就不会冲突

可能的参数和映射:

'l' -> 'li'
's' -> 'si'
'g' -> 'gi'
'i' -> 'ii'
它们可以以任何顺序出现,但基本上需要用上述映射替换。例如:

从 (订单不可预测)


在您的htaccess文件中在您已有的任何规则之前,添加以下内容:

RewriteCond %{QUERY_STRING} ^(.*&)?s=(.*)$
RewriteRule ^(.*)$ /$1?%1si=%2 [L]

RewriteCond %{QUERY_STRING} ^(.*&)?l=(.*)$
RewriteRule ^(.*)$ /$1?%1li=%2 [L]

RewriteCond %{QUERY_STRING} ^(.*&)?g=(.*)$
RewriteRule ^(.*)$ /$1?%1gi=%2 [L]

RewriteCond %{QUERY_STRING} ^(.*&)?i=(.*)$
RewriteRule ^(.*)$ /$1?%1ii=%2 [L]

我认为这非常接近。我现在遇到的问题是,它似乎与上面以字母('s','l','g','I')结尾的其他查询字符串参数相匹配。