2011-12-06 3 views
0

나는 wordpress에서 url-rewriting에 관한 문제가있다. 저는 현재 언어 플러그인 (거의 완료되었습니다) 작업 중이며 마지막으로 사용자가 선택한 현재 언어가 포함되도록 모든 URL이 변경되도록보고 싶습니다 (또는 사용자가 기본 언어가 아닌 경우 언어를 바 꾸었습니다.)Wordpress url rewriting

링크를 변경하는 데 문제가 없습니다. 문제는 서버에서 수행 한 재 작성에 있습니다. 아래에서 링크 변경 방법을 찾을 수 있습니다.

public function register_filters() 
{ 
    add_filter('page_link', array(get_class(),'alter_permalink')); 
    add_filter('post_link', array(get_class(),'alter_permalink')); 
} 

public function alter_permalink($permalink) 
{ 
    $permalink = str_replace(get_option('home'), '', $permalink); 
    $permalink = trim($permalink, '/'); 

    //The next line is actually a method that is being called, 
    //but it will return a string like this.    
    $lang = 'EN'; 


    return get_option('home') . '/' . $lang . '/' . $permalink; 

    //This returns a link that looks something like this: 
    //http://somedomain.com/EN/permalink-structure 
} 

위와 같이 링크를 만드는 데 아무런 문제가 없으므로 문제는 서버 자체의 URL 재 작성에 있습니다.

나는이 방법을 시도했다 : http://shibashake.com/wordpress-theme/wordpress-permalink-add 그러나 나는 그 중 하나를 작동시키지 않았다. 문제는 필자가 이러한 재 작성 규칙이 어떻게 작동하는지, 그리고 주제에 관해 적절한 튜토리얼을 찾지 못하는 것만 이해하는 것처럼 보입니다.

도움을 주시면 감사하겠습니다.

+1

정확히 어떤 문제가 있습니까? 다시 작성된 URL이 404를 반환합니까? –

+0

나는 그것을 언급하는 것을 잊어 버렸지 만, 그것은 실제로 문제입니다. 따라서 링크의 언어 부분을 무효화하는 다시 쓰기 규칙을 가져야하지만 어떻게해야합니까? –

답변

1

URL을 처리하기 위해 청취하는 필터는 요청입니다.

function request_handler($vars) { 
    //modified $vars here 

    return $vars; 
} 
add_filter('request', 'request_handler', 11); 

은 내가 WP에 사용자 정의 URL에 대한 플러그인을 작성했습니다. 소스를 확인하고 내가 어떻게 처리하는지보십시오. http://wordpress.org/extend/plugins/auto-url/

+0

나는 이것을 시도 할 것이다! 고마워 ^^ –