在Wordpress搜索中用短划线( - )替换加号(+)

问题描述:

如何更改网址加(+)号以破折号( - )与htaccess的网址。这是我的代码至今:在Wordpress搜索中用短划线( - )替换加号(+)

<IfModule mod_rewrite.c> 
Options +FollowSymLinks 
RewriteEngine On 
RewriteCond %{THE_REQUEST} ^[A-Z]+\ /(#[^?&\ ]*)?\?([^&\ ]*&)?s=([^&\ ]+)[^\ ]*\ HTTP/ 
RewriteRule ^$ http://example.com/search/%3\.html? [R=301,L] 
</IfModule> 

这工作得很好,结果是这样的:http://example.com/search/key+word.html

的唯一的事情就是我要改变加上冲刺。如果有人能帮忙,我会很感激。

+0

我并没有去,或告诉你该做什么,但不会消除搜索字符串的主要点?它显示了一个加号,告诉你它正在寻找这个词,这个词和这个词? – Lee 2014-09-11 07:53:46

+0

这个字符串的目的是搜索引擎优化,它仍然显示这个词的结果,这个词和这个词,因为我更新了query.php文件。 无论如何感谢 – pije 2014-09-11 08:30:22

您可以将这段代码有下面你301规则:

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

谢谢,但我得到500内部服务器错误。 – pije 2014-09-11 08:17:09

+0

立即尝试更新规则。 – anubhava 2014-09-11 08:22:04

+0

500走了,但它仍然显示加(+)号,即使我把它放在301规则之上。 – pije 2014-09-11 08:39:21

我决定通过使用插件,此代码,使之成为可能:

function seo_search_result() { 
    if (is_search() && strpos($_SERVER['REQUEST_URI'], '/wp-admin/') === false && strpos($_SERVER['REQUEST_URI'], '/search/') === false) { 
     wp_redirect(get_bloginfo('home') . '/search/' . str_replace(' ', '-', str_replace('%20', '-', get_query_var('s'). '.html'))); 
     exit(); 
    } 
} 

add_action('template_redirect', 'seo_search_result');