書き換えルールを追加しようとすると、奇妙な問題が発生します。
まず、私の設定についてのメモ。サイトの別の特定のセットアップに date.php ファイルを使用しています。
私が問題を抱えているのは、カスタマイズされたアーカイブ ページです。date.php テンプレートを台無しにしないために、wordpress 内に新しいページを設定しようとし、アーカイブを表示する独自のテンプレートを作成しました。
日付で URL をキャッチし、date.php にリダイレクトしないようにするために、次の add_rewrite_rules を設定しました。
function my_archives() {
add_rewrite_rule("my-archives/([0-9]{4})/([0-9]{1,2})/page/([0-9]{1,})/?$", 'index.php?pagename=my-archives&year=$matches[1]&monthnum=$matches[2]&paged=$matches[3]', 'top');
add_rewrite_rule("my-archives/([0-9]{4})/([0-9]{1,2})/?$", 'index.php?pagename=my-archives&year=$matches[1]&monthnum=$matches[2]', 'top');
}
add_action('init', 'my_archives');
リンクが正しく機能していたので、すべて問題ないと思いました。例: http://mysite.com/my-archives/2013/09/ および http://mysite.com/my-archives/2013/09/page/2/ ページ付きの結果。
1か月後、何らかの理由で、現在の日付から1か月遅れた日付にのみ正しくリダイレクトされることがわかりました。したがって、現在の日付が 2013/10/ であるため、リダイレクトされるのは /2013/09/ だけであり、それ以外はすべて 404 ページにリダイレクトされます。
これの考えられる原因に関する提案、または誰かが私のコードに間違っているものを見た場合、それは大歓迎です。