カスタム投稿タイプのうち2つの名前を変更しました。元のスラッグは投稿タイプを正しく反映していませんでした。そのため、designer_lingerie
(古い投稿タイプslug)で始まる投稿へのリクエストをdesigner
にリダイレクトする必要があります。すべての投稿は同じで、投稿タイプのスラッグが変更されただけです。
私は.htaccess
を使う必要があると確信していますが、それを変更するために何を言うべきかわからないです。基本的にどのURLを使うべきですか? WordPressの可愛いURLですか、それともデフォルトのURLですか。
次のような行を追加するだけです。
RewriteRule ^aboutus$ /about-us [R=301,L]
あなたの.htaccessファイルに。古いURLは^と$の間に入れ、次にスラッシュの後に新しいURLを入れます。
私はApache Rewriteモジュールを使うのではなく、組み込みのWordPress書き換え機能を使います。あなたがそれが使用する規則を見たいならば、 my Rewrite analyzer plugin をインストールしてください。新しいスラッグではなく古いスラッグを使用して、投稿タイプのルールを複製することができます。これにより、両方のURLがあなたの投稿コンテンツにリンクされます。
// The filter name is [post type name]_rewrite_rules, so I assume your post type name (not rewrite slug) is `designer`
add_filter( 'designer_rewrite_rules', 'wpse22625_designer_rewrite_rules' );
function wpse22625_designer_rewrite_rules( $rules )
{
$old_rules = array();
foreach ( $rules as $pattern => $substitution ) {
$old_pattern = str_replace( 'designer', 'designer_lingerie', $pattern );
$old_rules[$old_pattern] = $substitution;
}
return $rules + $old_rules;
}
これはリダイレクトを生成しません - 変な、私はこれをするために redirect_canonical()
関数 を期待しました。必要に応じて、redirect_canonical
にフックするか、自分でチェックする追加のフラグを設定することによって、自分で行うことができます。
パーマリンクを変更しても基本的な構造は変更しない場合、WordPressはあなたの投稿を見つけることができるはずです。なぜなら、 '本物の' URL構造は同じだからです。言い換えれば、パーマリンクを変更するだけであれば、自動的に正しい場所にリダイレクトされるはずです。
WPは、元々の可愛くないパーマリンクと、標準的なパーマリンクへの変更に関するメタデータを保持しています。 http://codex.wordpress.org/Using_Permalinks を参照してください。
あなたが投稿/ページのコンテンツにきれいでないパーマリンクを持っているか、どこかにハードコードされたままにしておくと、WPはそれらをきれいなバージョンにリダイレクトします。
ただし、投稿/ページエディタで直接URLを変更した場合は、リダイレクトする必要があります。それを処理する方法の1つは、 のようなプラグインを使うことです。WordPress›リダイレクト"WordPressプラグイン