.htaccess htaccess搜索并用破折号替换加号

.htaccess htaccess搜索并用破折号替换加号,.htaccess,url-rewriting,.htaccess,Url Rewriting,我有一个带有两个参数city的表单,关键字在提交后会被传递到search.php,并重定向到url website.com/search/lenovo+笔记本电脑+经销商/德里 但我需要的url解析没有这些加号,但在url破折号 示例:website.com/search/lenovo膝上型电脑经销商/德里 我的htaccess文件中的代码 RewriteEngine on RewriteBase / RewriteCond %{THE_REQUEST} \s/+search\.php\?k

我有一个带有两个参数city的表单,关键字在提交后会被传递到search.php,并重定向到url website.com/search/lenovo+笔记本电脑+经销商/德里

但我需要的url解析没有这些加号,但在url破折号

示例:website.com/search/lenovo膝上型电脑经销商/德里

我的htaccess文件中的代码

RewriteEngine on
RewriteBase /


RewriteCond %{THE_REQUEST} \s/+search\.php\?keyword=([^&]+)&city=([^\s&]+) [NC]
RewriteRule ^ /search/%1/%2? [R=301,L,NE]

RewriteRule ^search/([\w-]+)/([\w-]+)/?$ /search.php?keyword=$1&city=$2 [L,QSA]

您可以有如下规则:

RewriteEngine on
RewriteBase /

RewriteRule "^(search)/([^+]*)\++([^+]*\+.*)$" /$1/$2-$3 [L,NC]
RewriteRule "^(search)/([^+]*)\+([^+]*)$" /$1/$2-$3 [L,R=301,NE,NC]

RewriteCond %{THE_REQUEST} \s/+search\.php\?keyword=([^&]+)&city=([^\s&]+) [NC]
RewriteRule ^ /search/%1/%2? [R=301,L,NE]

RewriteRule ^search/([\w-]+)/([\w-]+)/?$ /search.php?keyword=$1&city=$2 [L,QSA]