パーマリンクに、常にドメイン名が表示される様にしました。

Share on FacebookTweet about this on TwitterShare on Google+Share on TumblrPin on PinterestShare on RedditShare on LinkedIn

「パーマリンクに、常にドメイン名が表示される様にしました。」

と言っても、ほとんどのサイトは普通そうなっています。

ところが当サイトのパーマリンクは、

http://march-brown.sakura.ne.jp/2013/09/○○○.php

となっており、ドメイン名「hibinokizuki.com」が表示されません。

このブログの場合、借りているサーバの初期ドメインmarch-brown.sakura.ne.jpの直下に、blogwpというディレクトリを作り、そこにブログを展開しております。

そしてこのblogwpというディレクトリを対象に、ドメインhibinokizuki.comを設定しています。

ちなみにwordpressの本体は、blogwpと同じ階層のディレクトリにあります。

このような構造でプログを構築しているためか、せっかく独自ドメインhibinokizuki.comがありながら、トップページ以外のパーマリンクには、ドメイン名が表示されません。

今回このパーマリンクを、

http://hibinokizuki.com/2013/09/○○○.php

と表示されるようにしました。

独自ドメインが表示されるだけでなく、より短いURLになるのでSEO的にも有利であるとの判断からです。

このような表示にする事自体は簡単でした。

  1. WordPressの「一般設定」で、「Site Address (URL)」をhttp://hibinokizuki.comに設定する。
  2. 「パーマリンク設定」で、「カスタム設定」を/%year%/%monthnum%/%postname%.phpとする。
  3. 「パーマリンク設定」で指定されるとおりに.htaccessファイルを書き換える。

これで完了です。

問題なのは、変更前のパーマリンクhttp://march-brown.sakura.ne.jp/2013/09/○○○.phpへのアクセスを、新しいパーマリンクhttp://hibinokizuki.com/2013/09/○○○.phpに転送(リダイレクト)する事です。

ネットで「パーマリンク変更」「ドメイン変更」「リダイレクト」を検索すると、おびただしい量の情報が出てきます。

しかし、.htaccessファイルの知識が乏しく、かつ上記のようなディレクトリ構造でブログを構築しているため、なかなか正解が見つかりませんでした。

その結果リダイレクト出来ない状態で、1週間が過ぎてしまいました。

前のエントリーでお詫びしました様に、その間に650以上のアクセスをエラーにしてしまいました。重ねてお詫び申し上げます。

結論を先に言うと、blogwsに置いた.htaceessに

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /blogwp
RewriteCond %{HTTP_HOST} ^march-brown.sakura.ne.jp [NC]
RewriteRule ^(.*)$ http://hibinokizuki.com/$1 [R=301,L]
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

と記述して、301リダイレクトがうまく機能しました。

301リダイレクト[R=301]とする事で、検索エンジンに、ページが新しい場所へ完全に移動したことを伝えます。

WordPressの「パーマリンク設定」で指定された内容に、03〜05行目を追加しました。
ネット上の数ある情報の中で、ここまで導いて頂いたサイトは、下記のとおりです。
この場で深くお礼致します。



高橋文樹.com」さんの「.htaccessの正体見たり、枯れ尾花

.htaccessとはなんぞや、というところから、.htaccessの基礎を教わりました。

”!”や”^”や”.”の意味も、ここで教わりました。

Web担当者フォーラムさんの「ApacheウェブサーバーのRewrite設定で使える正規表現サンプル集

私がやるべきなのは、結局「ドメイン名以下のURLはすべて同じ構成で、ドメイン名だけを変更する。その際には301リダイレクトさせる。」であるという事を、ここで悟りました。コードもここでのサンプルコードをベースにさせてもらいました。

murak.netさんの「WordPressが自動的に書く.htaccessに追記する方法

「WordPressが自動的に書く.htaccess」の意味は、前出の「.htaccessの正体見たり、枯れ尾花」に噛み砕いた説明があります。それを理解した上でこのエントリーを読むと、.htaccessの何処にコードを追加すれば良いかが分かりました同じコードでも、記述する場所が違えば動きませんでした。

他にも参考になるサイトは数多くありましたが、私の場合は上記3サイトの情報が、最も有用でした。

Sponsored Links

LINEで送る
Pocket

Add a Comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です