2012-02-29 2 views
1

기존 Wordpress 사이트에 몇 가지 비 WordPress PHP 페이지를 통합하려고합니다. 이상적으로, 'domain.com/catalog.php?title=bookname'으로 'domain.com/books/bookname'과 같은 요청을 다시 작성하고 싶습니다. 나는 몇 시간 동안 WP Rewrite API를 사용하고 있었지만, 아무 것도 할 수 없었다.WP URL 재 작성 플러그인

register_activation_hook(__FILE__, 'wbm_catalog_activate'); 
function wbm_catalog_activate() { 
    wbm_catalog_add_rules(); 
    flush_rewrite_rules(); 
} 

// Flush when deactivated 
register_deactivation_hook(__FILE__, 'wbm_catalog_deactivate'); 
function wbm_catalog_deactivate() { 
    flush_rewrite_rules(); 
} 

add_action('init', 'wbm_catalog_add_rules'); 
function wbm_catalog_add_rules() { 
    add_rewrite_rule('books/([^/]+)/?', 
     'catalog.php?title=$matches[1]', 'top'); 
} 

심지어는 $ wp_rewrite 개체를 검사 할 수 있습니다 내 새 규칙을 추가 볼 수 있지만, 내가 다시 URL을 방문하려고 할 때마다, 규칙 마치 워드 프레스 행위가되지 않은 : 여기에 내 현재의 플러그인 코드입니다.

나는 벽돌 벽에 머리를 대고있어, 당신이 줄 수있는 어떤 도움에 감사 할 것입니다!

+0

기성품 솔루션을 원할 경우 [Redirection] (http://wordpress.org/extend/plugins/redirection/)이이를 수행 할 수 있습니다. (나는'/ forum/de'를 가리키는 메뉴 항목을'/forum/index.php? rlang = de'에있는 phpBB 포럼의 독일어 번역으로 리다이렉트하기 위해 사용했으며, 정규 표현식과 역 참조를 확실히 지원합니다.) 옵션 페이지에서 URL 모니터링을 해제하십시오. 이동했을 때 자동으로 방향을 바꾸면 기본적으로 혼란 스러울 수 있습니다. –

+1

사용하도록 설정해야하는 .htaccess 설정이 없습니까? 나는 Wordpress가 아파치에게 너를시켜주지 않고도 재 작성을 다룰 수 있다고 생각하지 않는다. –

+0

Matt, 리디렉션 플러그인은 훌륭하게 보이지만 방해가되지 않는 URL 재 작성, 리디렉션 만 지원하는 것처럼 보이지 않습니다. 나는 그것을 살펴보고 그것이 원하는 행동을 취할 수 있는지를 고쳐 볼 것입니다. 감사! – Andrew

답변

0

내가이 문제를 해결 할 수 없습니다 귀하의 DB에 값을 확인할 수 있습니다. 내가 작업하고 있던 사이트는 여러 사이트가있는 오래된 WordPressMU 설치 (2.8)의 일부였습니다. MU 설치 프로그램이 사용하고있는 .htaccess에 대한 액세스 권한이 없었으며 편집 할 수있는 .htaccess 파일로 요청을 전달하지 않았습니다.

1

문제는 다음과 같습니다

flush_rewrite_rulesadd_rewrite_rule 전에 실행되고

때문에 add_rewrite_rule에 거즈를 포함하지 않는 생성 된 새 캐시.

당신은

select option_name, option_value from wp_options where option_name = 'rewrite_rules';