使用.htaccess或PHP从url中删除+(加号)

时间:2014-11-15 23:29:49

标签: php apache .htaccess mod-rewrite

我最近对我网站的.htaccess文件进行了一些更改。我有一个搜索表单,使用简单的PHP脚本搜索数据库。

现在,如果用户搜索"红色卡车"来自mysite.com/search.php我的网站返回mysite.com/red+trucks.php(我已经设置了.htaccess文件来创建友好的网址和301重定向)。我想知道如何删除+加号并将它们更改为 - 连字符?

我的.htaccess文件如下所示,您的更改放在CMate中

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^search/(.*)\.php search.php?pro_query=$1
RewriteRule ^search/(.*)\.php$ /scripts/search.php?pro_query=$1
RewriteCond %{QUERY_STRING} ^pro_query=([0-9,a-z,.*,%25,%2B,%+]+)$
RewriteRule ^scripts/search\.php /search/%1.php? [R=301,NC,L]
RewriteRule ^([^+]*)\+(.*) $1\-$2 [N]

1 个答案:

答案 0 :(得分:0)

如果可以将所有+符号替换为-,请尝试使用此规则:

RewriteRule ^([^+]*)\+(.*) $1\-$2 [N]

在您的情况下,将其添加为最后一条规则。