調子に乗ってサブドメインを設定して同じくWordPressで別ブログ立ち上げてみたくなったので、調べてみたところどうもサブドメインの正規化だけがはっきりしない・・・
そもそもサブドメインでリダイレクトが必要なのは
①http://→https:// 常時SSL化に伴うリダイレクト
②https://example.com/abc→https://abc.example.com サブディレクトリ型をサブドメイン型へリダイレクト
①はルートドメイン時にも必要であった.htaccess編集。常時SSL化したことでSSL化前のURLが残ったままなのでリダイレクトさせる作業です。
②はサブドメイン時に発生する作業です。エックスサーバーの仕様で、https://abc.example.comを作成するとhttps://example.com/abcのURLも自動で作成されてしまい、残ったままなのでリダイレクトさせる作業です。ルートドメイン設定時のwww.あり・なし同時に作成されるのと似ていますね。
では、すべき作業は何か?ブログやエックスサーバーの公式マニュアルを調べてみるも
「??」
”サブドメインはルートドメインの下の階層なので、ルートドメインで.htaccessのhttp://→https://へのリダイレクト追記されていれば、サブドメインも自動的にリダイレクトされる説”
”サブドメインのフォルダ内の.htaccessに追記する説”
”WordPressだと、自動でリダイレクトされる説”
結論から言いますと、サブドメイン設定時に下記作業は
①http://→https:// 常時SSL化に伴うリダイレクト→必要
②https://example.com/abc→https://abc.example.com サブディレクトリ型をサブドメイン型へリダイレクト→不要
訳が分からなくなった超初心者の私は、エックスサーバー様にお問い合わせしました!
それでは説明していきます。
サブドメイン設定(無料独自SSLを利用するを選択)とWordPressインストールは終わらせておいてくださいね。
http://→https:// 常時SSL化に伴うリダイレクト
まず、ルートドメインの時は.htaccessをエックスサーバーの下記サーバーパネルで行った方が多かったと思います。
サブドメインではこの画面で編集は出来ません。
エックスサーバーのファイルマネージャから編集するのが一番簡単です。
エックスサーバーのファイルマネージャはサーバーパネルにログインする際の画面の並びにあります。
ログインするためのサーバーID・サーバーパネルパスワードは、XSERVER(エックスサーバー)申込完了時に【Xserver】■重要■ サーバーアカウント設定完了のお知らせというようなメールが届いているので、そこに記載されています。
ログイン後はファイルの場所を探します。間違えないように!
↓
↓
↓
まずは上記記述をそのままバックアップ用にメモ帳などにコピペしておきましょう!
念には念を、です。
ここに下記を追記します。
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
<引用元 エックスサーバー株式会社 URL:https://www.xserver.ne.jp/manual/man_server_fullssl.php>
ここからはネットで調べた中での私の判断ですが、元の記述の前に記載したほうが良さそうです。
後に記述してしまうと、#END WordPressのところまでの指示で終わってしまい、上記追記部分が反映されない(ことがある?)そうです。
記述後こうなります。
保存したらすぐに反映されています。
確認してみましょう。
ブラウザのURLバーに自身のサブドメインのURLをhttp://で入力して実行してみてください。出来れば記事ページまで指定してあるURLの方がおすすめです。ホーム画面はリダイレクトされるが記事ページはされていなかったということが以前ありました。
ホームページ表示後、もう一度URLバーをクリックしてみるとhttps://に替わっていれば成功です!
失敗談
最初、エックスサーバーにファイルマネージャというのがあることをそもそも知らず、ファイル転送ソフトFileZillaを使って、Windowsのローカル環境で.htaccessを書き換えようとしていました。
①FileZillaでエックスサーバーからローカル(自身のPC)にダウンロード
②メモ帳プログラムから開く
③上書き
④FileZillaでエックスサーバーにローカル(自身のPC)からアップロード
の予定だったのですが・・・
トラブル1:.htaccessファイルが次々とメモ帳表示になっていくホラー
トラブル2:追記してアップロードしたのに505エラー
トラブル1はどうやらWindowsで起きやすいようで、一度あるプラグラムで使用し保存すると、同じ拡張子のファイルに「プログラムの関連付け」されるという機能らしいです。関連解除はシステムファイルを触るらしく超初心者には恐怖でしかないので放置。(お恥ずかしながら当方Windowsはバージョン10ではないです。自分のバージョンだけかもしれませんが)
ファイルは.htaccessファイルという形式を保持していたので、ダウンロードしたものそのままアップロードし直して上書きしたら、メモ帳表示でもエラー出なかったので、見た目の問題だけのようでしたが・・・
トラブル2は超初心者の私には原因不明のままです。バックアップでとっておいたダウンロードしたままのファイルを戻して上書きして事なきを得ましたが、スタート地点に戻っただけでした。
結局もう一度ブログから情報収集し、エックスサーバーのファイルマネージャの存在を知り、すんなりリダイレクト出来ました。
https://example.com/abc/→https://abc.example.com/ サブディレクトリ型をサブドメイン型へリダイレクト
WordPressでサブドメインを運用する場合は、一般設定画面のWordPressアドレスとサイトアドレスをhttps://abc.example.com(正規)にした場合は、https://example.com/abcはhttps://abc.example.com(正規)にリダイレクトされるとのことです!(エックスサーバー様に確認)
ですので、エックスサーバー サブドメイン設定時のマニュアルにある.htaccessへのサブディレクトリ型のアクセス拒否の追記作業は、WordPressで上記2か所のURLを正規のものにすればリダイレクトされるので必要ありません。
もっと言いますと、WordPressインストールした際に上記2か所のURLをhttp://→https://にするためsを追記してすでに正規のURLで入力しているはずですので、サブディレクトリ型からのリダイレクト・アクセス拒否する為の別途作業はなし!ということです。
確認してみましょう。
ブラウザのURLバーに自身のサブドメインのURLをでhttps://example.com/abcの形に手入力して実行してみてください。(https://example.comまでは自身のルートドメイン、abcの部分をサブドメイン設定時に追記した文字)
ホームページ表示後、もう一度URLバーをクリックしてみるとhttps://abc.example.comに替わっていれば成功です!
まとめ
- サブドメインでもSEO対策で正規化作業が必要
- http://→https:// 常時SSL化に伴うリダイレクト作業は、エックスサーバーのファイルマネージャのサブドメインフォルダ内の.htaccessで行う
- https://example.com/abc→https://abc.example.com サブディレクトリ型をサブドメイン型へリダイレクト作業は、WordPressの一般設定画面で正規のURLを設定する
備忘記録も兼ねて記事を書いてみました。
超初心者ですが、問い合わせしながら実際解決出来ましたので、同じ超初心者様方の「?」が解決出来れば嬉しいです