Wordpressからはてなブログに戻ってきて、301リダイレクトの設定をし、ちゃんとできている、と思っていたのですが、ふと思いついてWordpressの方のアクセス数をチェックしてみました。
すると、設定後もなぜかアクセスがあります。
アクセス数のカウントが、転送前のものもカウントするのかもしれませんが、念のために自分でアクセスしてみました。
すると、トップページ以外は転送されません!
ということで原因を調べます。
問題はリダイレクトのプラグインにあることはほぼ間違いないので、よーく調べてみます。
調べた経緯は割愛しますが、一つの答えにたどり着きました。
それは、httpとhttpsの問題です。
私がレンタルしているサーバーはSSL保護が無料なので、その設定は随分前にしていました。
だから、https・・・のURLで運用して問題なかったのです。
しかし、Wordpress上でのURL設定をするのを忘れていました。
※既に変更済みのスクショです
ここのhttpをhttpsに変更して保存したら、転送がうまくいくようになりました。
これでひとまずは安心です。
しかし、まだ終わっていません。
仕組みはよくわかっていないのですが、上の状態では「http」から始まるURLを直入力すると、記事のページが読めます。内容はもちろん「https」から始まるページと同じです。
で、httpsから始まるURLだとちゃんと転送されますが、httpだと転送されません。
これは、リダイレクトの元サイトURLをhttpsに設定しているからだと思います。
しかし、プラグイン「Simple 301 Redirects」の設定では、元サイトのURLが相対パスで、httpのところは書きません、というか書けません。
ということで、サーバー上の「.htaccess」ファイルに直接記述してみます。
記述内容は
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
これを書いても、最初はうまくいきませんでした。
で、いろいろと調べると、記述は「.htaccess」ファイルの冒頭に近いところに書いたほうがよい、とのことで、最初の方に記述。
すると、成功しました。
つまり現在の転送経路は
httpのwordpress→httpsのwordpress→はてなブログ
もしくは
です。
しかし、やっぱりサイトの移行って結構大変ですね。
その分勉強になるから良いのですが。