用mod_rewrite替换加号(+)和短划线( - )

时间:2014-01-05 08:21:23

标签: .htaccess mod-rewrite

如何使用mod_rewrite将url plus(+)符号更改为url中的破折号( - )。这是我到目前为止的代码

RewriteCond %{THE_REQUEST} ^(GET|POST)\ /searchpage\.php\?search=(.*)\ HTTP
RewriteRule ^searchpage\.php$ /searchpage-search-%2.html? [R,L]

#Internal rewrite
RewriteRule searchpage-search-(.*)\.html$ searchpage.php?search=$1 [L]

这适用于使用$ _GET请求的搜索表单。这种方法很有效,但我想用破折号改变加号。如果有人能提供帮助,我真的很感激。

1 个答案:

答案 0 :(得分:0)

在现有规则

之前插入之前的这两个规则:

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