如何使用.htaccess将带有查询字符串的url重定向到另一个带有查询字符串的url

hujrc8aj  于 2022-12-19  发布在  其他
关注(0)|答案(1)|浏览(167)

首先,让我先说我对. htaccess不是很熟练,我确实搜索了StackOverflow,找到了很多重定向的例子,但是没有找到一个能完成我想完成的任务。
我正在尝试将包含查询字符串的特定URL重定向到包含查询字符串的其他URL。查询字符串值是动态的。
例如,我想重定向以下内容:

https://www.example.com/page/?search=search_string&param1=whatever&param2=whatever

对此:

https://www.example.com/?s=search_string

在第一个URL中,除了'search'值之外,我不关心任何参数。第一个URL中'search'的值将是第二个URL中's'的值。我希望删除所有其他参数。请记住,第一个URL中'search'的值是动态的。
我尝试了以下方法,但没有成功:

RedirectMatch 301 ^/page/?(.*)$ https://www.example.com/?$1
mzillmmw

mzillmmw1#

您需要在这里使用mod_rewrite,以便能够检查和捕获QUERY_STRING中的值。

RewriteEngine On

RewriteCond %{QUERY_STRING} (?:^|&)search=([^&]+) [NC]
RewriteRule ^page/?$ /?s=%1 [L,NC,R=302]

相关问题