2012-02-29 20 views
1

私はいくつかの非ワードプレスPHPページを既存のWordpressサイトに統合しようとしています。理想的には、私は '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

既製のソリューションが必要な場合は、[リダイレクト](http://wordpress.org/extend/plugins/redirection/)でこれを行うことができます。 (私は '/ forum/de'を指すメニュー項目を' /forum/index.php?rlang = de'にあるphpBBフォーラムのドイツ語にリダイレクトするために使用しました。これは間違いなく正規表現と後方参照をサポートしています。 )オプションページでURL監視をオフにしてください。移動したときに自動的にリダイレクトされると、あなたのことを混乱させる可能性があります。デフォルトではオンになっています。 –

+1

有効にする必要がある.htaccess設定がありませんか?私はWordpressがあなたにあなたをさせるためにApacheに言わずに書き換えを処理できるとは思わない。 –

+0

Matt、Redirectionプラグインは素晴らしいとは思えますが、控えめなURL書き換えをサポートしているようには見えません。リダイレクトだけです。私はそれを見て、それを修正して希望の動作を達成できるかどうかを見ていきます。ありがとう! – Andrew

答えて

0

を確認することができます。私が取り組んでいたサイトは、数多くのサイトを持つ古いWordPressMUセットアップ(2.8)の一部でした。私は、MUのインストールが使用していた.htaccessへのアクセス権がなく、編集可能な.htaccessファイルに要求を渡していませんでした。

1

問題がある:

声明flush_rewrite_rulesadd_rewrite_rule前に実行されるため、生成された新しいキャッシュがadd_rewrite_ruleであなた詰め込むが含まれていません。

あなたは私が今までこの問題を解決することができませんでしたあなたのDBに値を

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