【问题标题】:Rewrite URL for WordPress with htaccess for multiple query string parameters使用 htaccess 为多个查询字符串参数重写 WordPress 的 URL
【发布时间】:2013-04-05 13:15:12
【问题描述】:

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

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

可能的参数和映射:

'l' -> 'li'
's' -> 'si'
'g' -> 'gi'
'i' -> 'ii'

这些可以按任何顺序出现,但基本上需要替换为上述映射。一个例子:

来自 http://www.domain.com/register?l=something&s=something(订单不可预测)

http://www.domain.com/register?li=something&si=something

【问题讨论】:

    标签: wordpress apache .htaccess web


    【解决方案1】:

    在您的 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')。
    猜你喜欢
    • 2012-11-15
    • 1970-01-01
    • 1970-01-01
    • 2015-12-26
    • 1970-01-01
    • 1970-01-01
    • 2012-09-19
    • 2016-02-13
    • 2020-06-04
    相关资源
    最近更新 更多