首页 > 解决方案 > 将旧搜索重定向到新搜索并保留第一个参数

问题描述

当有人搜索任何内容时,我有一个网站实际上有这个 URL

/search?searchword=KEYWORD&searchphrase=all

我想将它重定向到新的:

/newsearch?q=KEYWORD

基本上,保留KEYWORD参数并重写 URL

我已经尝试过RewriteRule ^search?searchword(.*)$ /newsearch?q=$1 [L,QSA],但它不起作用,没有任何反应。

谢谢。

标签: apache.htaccessredirectmod-rewriteurl-rewriting

解决方案


您的规则不起作用,因为您正在使用RewriteRule指令来测试查询字符串。您需要匹配%{QUERY_STRING}%{THE_REQUEST}如@RavinderSingh13 的答案中所述。

RewriteEngine on

RewriteCond %{QUERY_STRING} ^searchword=([^&]+)&searchphrase=.+$ [NC]
RewriteRule ^search/?$ /newsearch?q=%1 [L,R]

推荐阅读