人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

wordpress3.1.2にて、ブログを作成して4年目になります。
現在、テーマは、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


●質問者: kazzzz
●カテゴリ:インターネット ウェブ制作
✍キーワード:.htaccess AddHandler BEGIN INDEX ON
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● rouge_2008
●200ポイント ベストアンサー

「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 WordPress

RewriteEngine 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
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ