カテゴリー別

お絵描き、デザイン

写真、動画関連ソフト

アメーバピグ専用ソフト

ホームページ関連

画像処理

スキャナー用

SEO 関連

お楽しみ

その他

過去ログ

2018年04月20日(金)

lolipop レンタルサーバー、共用SSL、https に 301 リダイレクトする方法

今日は google ウェブマスターツールに
送信したサイトマップが全行エラー!
になっているのを発見したので修正を試みました。

原因は、ホームページを https 化したときに、
サイトマップの URL も変更したので、それが、原因でしょう。

具体的には、ウェブマスターツールのアドレスが
http://sssoftware.main.jp/ で、
サイトマップの URL が
https://main-sssoftware.ssl-lolipop.jp/
... になってます。

今後は、https で行くので、ウェブマスターツールに
登録してあるサイトのアドレスを変更します。

で、設定メニューの「アドレス変更」を選択してみると、

「301 リダイレクトが正常に動作していることを確認する」
と、あります。アドレス変更する場合は、古い URL から
新しい URL へ 301 リダイレクトする必要があるみたいですね。

ちなみに、301 リダイレクトとは、ホームページの URL が
新しいホームページの URL に恒久的に変更されたことを
しめすリダイレクトです。リダイレクトは、URL に
アクセスしたときに、別の URL へ移動させる仕組みです。

なので、まずは、
http://sssoftware.main.jp/
https://main-sssoftware.ssl-lolipop.jp/
に 301 リダイレクトします。

http を https に、301 リダイレクト

ロリポップサーバーでは、.htaccess
を用意することで実現できました。

.htaccess はテキスト形式の設定ファイルで、
今回の場合の、中身は ↓ です。
(間違えてそのまま使わないように一部 xxx に変更してます)

RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{REQUEST_URI} !^/googled
RewriteRule ^(.*)$ https://main-sssoftware.xxx-lolipop.jp/$1 [R=301,L]

このファイルを http サーバーのルートに置けば OK です。
lolipop によると、ファイルの属性は、604 がいいらしい です。

1 行目は、mod_rewrite モジュールをオンにします。
オンにしないと、以降の行が有効になりません。

mod_rewrite モジュールが使えない環境では、
オンに失敗するため、この .htaccess は働きません。

2 行目は、https でない場合
4 行目を有効にする (リダイレクトする) という意味です。

3 行目 (googled のやつ) は、
301 リダイレクトするだけなら不要です。

ルート直下にある googled で始まるファイルは
リダイレクトしないという意味になります。

4 行目は、リダイレクトの仕方です。

^(.*)$ の ^ は行頭、$ は行末の意味です。
.* は、あらゆる文字が 0 文字以上続くものという意味です。

つまり、.* の部分に、全ファイルパスがマッチします。

() は、マッチの条件には影響しませんが、
() 内にマッチしたものを、次のカラムで参照できます。

具体的には、
https://main-sssoftware.ssl-lolipop.jp/$1
の $1 が .* でマッチしたものと置き変わります。

例えば、http://sssoftware.main.jp/index.html の場合
RewriteRule のマッチ条件には、/index.html が使われます。

なので、.* は /index.html がマッチし、リダイレクト先は、
https://main-sssoftware.ssl-lolipop.jp//index.html
となります。

なんか、スラッシュ多めな気がしますが
こういう書き方の例が多く紹介されています。
正常には動くみたいだし、ま、いいか。

リダイレクトの確認

ウェブブラウザで旧 URL を表示し、
新しい URL に飛ぶことを確認します。

私は、Chrome で確認してたのですが、
一度 301 リダイレクトされたページは、
.htaccess を修正しても、Chrome のキャッシュが
効いてしまい、同じページに飛んでしまうので注意が必要です。

.htaccess を修正するたびに別のページで確認し、
うまくいったら、Chrome のキャッシュを削除して、
ダメだったページでもうまくいくか、再確認するのが速そうです。

キャッシュの削除は、Chrome の設定の「詳細設定」にある
「閲覧履歴データを消去する」からできます。

ウェブマスターツールにプロパティを追加する

アドレス変更ページに戻ると、 「1. リストから新しいサイトを選択する
サイトが表示されない場合は、追加してください」とあるので追加します。

新しいウェブサイトと登録するとき同じ方法で、
https の URL を追加します。

https の URL をプロパティに追加してから、
アドレス変更ページに戻ると、301 リダイレクトされた結果、
自動的に、新しいサイトの URL が選択された状態になります。

2 の、301 リダイレクトが正常に動作していることを確認する
も自動的に確認状態になってましたが、3 は無理でした。

3 確認方法がまだ残っていることを確認する

3. の確認ボタンを押すと、古い方の確認がとれません
みたいな文言が、表示されます。

ちなみに、自分は、AdSense のコードで確認してましたが、
http のページは、全て https にリダイレクト
しているので、http の方の確認がとれないのでしょう。

しょうがないので、確認用の html を
アップロードする方法で確認することにします。

で、確認用の html は googled... てな名前なので
サーバールートに置いた googled... ファイルでは
リダイレクトしないようにします。

本当はこの時点で、.htaccess を修正したのですが、
すでに、修正済みの .htaccess を解説してあります。

で、新しい方、古い方とも、同じファイルで
ホームページの所有権の確認ができるようになったので、
3. もクリアーです。最後に、
4 の「アドレス変更のリクエストを送信する」で無事終了です。

サイトマップを送信する

で、ウェブマスターツールに新しく追加した
https の方でサイトマップを送信すると、
エラー無く送信できるようになりました。

http の方はあいかわらずエラーのままです。

まぁ、問題があれば、http 用のサイトマップも
用意して送信すれば、エラーは無くなるでしょう。

最後に

作業を始める前は、http の方の集計情報が、
https の方にそのまま引き継がれるのかと
思って作業していましたが、さにあらず。

https の方は新しく別のプロパティとなります。

アドレスの変更は、google に
新しい URL に引っ越ししたことを伝えるだけの機能みたいです。

そんなわけで、作ったばかりの
https の方の集計情報はまだ空です。

共有 SSL で新しい URL に変更した場合は、
早めに新しい URL のプロパティを
ウェブマスターツールに追加した方がよさそうですね。

http://sssoftware.main.jp/:旧URL、リダイレクト済み
https://main-sssoftware.ssl-lolipop.jp/: 新URL
ご意見・ご要望連絡窓口


コメント
コメントする