2014-09-11 7 views
0

htaccess를 사용하여 url에 플러스 (+) 기호를 대시 (-)로 어떻게 바꿀 수 있습니까? http://example.com/search/key+word.htmlWordpress 검색에서 더하기 (+)를 대시 (-)로 바꿉니다.

유일한 것은 내가 대시 플러스 변경할 것입니다 :

<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> 

이 잘 작동이 같은 결과 일이 내가 지금까지 가지고있는 코드입니다. 누군가 도와 주면 정말 고맙습니다.

당신은 당신보다 301 규칙을이 코드를 삽입 할 수 있습니다
+0

내가 갈을 가지고 있지 않다, 또는 당신에게 무엇을해야하는지 알려주지 만, 검색 문자열의 요점을 없애지는 않겠습니까? 이 단어와이 단어 및이 단어를 검색하는 것을 보여주는 플러스를 보여줍니다. – Lee

+0

이 문자열의 목적은 SEO를위한 것이며이 단어와이 단어 및이 단어에 대한 결과도 표시하고 있는데 이는 query.php 파일도 업데이트하기 때문입니다. 감사합니다. 어쨌든 – pije

답변

1

:

이 코드와 플러그인을 사용하여 가능하게하기로 결정
RewriteRule "^(search)/([^ +]*)[ +]+([^ +]*[ +].*)$" /$1/$2-$3 [L,NE] 
RewriteRule "^(search)/([^ +]*)[ +]([^ +]*)$" /$1/$2-$3 [L,R=302,NE] 
+0

고맙지 만 500 내부 서버 오류가 발생합니다. – pije

+0

업데이트 된 규칙을 사용해보세요. – anubhava

+0

500이긴하지만 여전히 301 규칙 위에 올려 놓더라도 더하기 (+) 기호가 표시됩니다. – pije

0

:

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'); 
관련 문제