我正在尝试将此查询“ https://myurl.com/puff/?search_keyword=xyz”更改为该“ https://myurl.com/puff/?s=xyz”。
我看到了与此类似的答案,但是我之前从未使用过正则表达式,并且在根据我的需要对其进行自定义时遇到了问题。我正在使用WordPress并编辑.htaccess文件以实现此目的。
我调查了How to replace the first parameter name in query string using .htaccess?并尝试使用它来自定义自己的.htaccess,但是在自己实现它方面遇到了问题。
这是我当前的.htaccess文件的样子:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /puffadvisor/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /puffadvisor/index.php [L]x
</IfModule>
# END WordPress
非常感谢所有帮助:)非常感谢。
答案 0 :(得分:1)
您需要基于%QUERY_STRING
的条件,然后引用以%
为前缀的捕获组
RewriteEngine On
RewriteCond %{QUERY_STRING} (.*(?:^|&))seach_keyword((?:$|=|&).*)
RewriteRule /puff /puff?%1s%2
此{DOCUMENT_ROOT}/.htaccess
在search_keyword
位置上将参数名称s
替换为/puff
,无论参数出现在什么位置。
您可能要重写所有路径
RewriteRule .* $0?%1s%2