現在、テーマは、Platform1.2.1を使用しており、いろいろカスタマイズしています。
先日、パーマリンクを変更しました。
/archives/123を、/%postname%/にしました。
URL変更に伴い、下記プラグインにて、リダイレクトさせる予定でしたが、トップページに飛んでしまいます。
プラグイン「Permalink Redirect」
ほかのプラグイン「Redirection」も試してみたのですがうまくいきません。
現在、プラグインは、有効にしていませんが、過去のURLは、自動的にトップページに飛ぶようです。
.htaccessをいじるしか方法はないのでしょうか。
変更するとしたらどうすればよいのでしょうか。
私のブログの.htaccessは下記です。
AddHandler php5-script .php
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
他にも、いろいろいじっているのですが、わかりません。
アクセス数も半減しました。
何卒、よろしく御教授願います。
サイトアドレス
http://architectural-site.jp
「Permalink Redirect」の設定は済ませたでしょうか?
http://coliss.com/articles/blog/wordpress/plugin/wordpress-plugin-permalink-edirect.html
1.ダッシュボードの「設定」→「Permalink Redirect」
2.「Old Permalink Structures:」に「/archives/%post_id%」と入力(※「」は不要です。)
3.「Current permalink structure: /%postname%/」と表示されているのを確認
4.「Update Options」をクリックして完了です。
ちなみに「/%postname%/」だけというのは、なるべく避けて次のようにする方が良いと思います。
例:/post/%category%/%postname%/
http://wpdocs.sourceforge.jp/Using_Permalinks
パフォーマンスの観点から、パーマリンク構造がカテゴリ名、タグ名、著者名、投稿タイトルフィールドから始まるのは好ましくないといえます。これらはテキストフィールドなので、パーマリンク構造の先頭に用いると、WordPress が投稿とページ (ページは常にページスラッグを URL に含みます) を区別するのに時間がかかり、代償として、WordPress が余計な情報をデータベースを蓄えることになります (多くのページがあるサイトは大変でしょう)。したがって、/%year%/%post_name%/ や、さらには /posts/%post_name/ のように、少なくとも 2 つのパスセグメントを含めるのがベストでしょう。(パフォーマンスの観点から /%post_id%/%post_name%/ を推奨する人もいますし、この形式はユーザーと URL のインタラクションの多くの文脈で親切でないと批判する人もいます。)
パフォーマンス上の理由で %postname% で始まるパーマリンクは非推奨です。
※他、同じ理由で「%category%」「%tag%」「%author%」等で始まるパーマリンクが非推奨とされています。(上記参照)
それから、今回のケースの場合はプラグインを使用しなくても可能です。
.htaccessに以下の記述を追加します。
RewriteRule ^archives/(\d+)/?$ /index.php?p=$1 [L]
全体では以下のようになります。
AddHandler php5-script .php # BEGIN WordPressRewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteRule ^archives/(\d+)/?$ /index.php?p=$1 [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress
コメント(2件)
パフォーマンスの事もありますので、「/post/%post_name/」など2セグメント以上で設定してみてください。
「/%post_name/」とだけしたい場合は、.htaccessによる方法をお試しください。
無事、リダイレクトしました。
Permalink Redirectは、何度も設定したのでしたが、だめでした。
結局、.htaccessを、書き足しました。
RewriteRule ^archives/(\d+)/?$ /index.php?p=$1 [L]
また、パーマリンクも下記のように直しました。
/%year%/%post_name%/
本当にありがとうございました。