「Drupal」をインストールしたアドレスへアクセスします。
http://'自分のXserverドメイン'/drupal/web/
「Drush」で自動で作成された「admin」ユーザーをパスワードでログインしてみます

出来ました。
とりあえず、自分のサイトへのアクセスをTLSで暗号化した通信、つまりSSL化(HTTPS通信)します。
「Xserver」のサーバーパネルの「ドメイン」ブロックにある「SSL設定」を開きます。
自分のサイトのドメイン名を選択します。
「SSL設定一覧」タブの「設定対象ドメイン」が自分のサイトのドメイン名になっているのを確認して、「独自SSL設定追加」タブを開きます。
「CSR情報(SSL証明書申請情報)を入力する」ことも可能ですが、登録時の基本情報に変更はないのでチェックを入れずに「確認画面へ進む」をクリックします。
次の画面で「追加する」をクリックします。
「SSL設定一覧」タブで無料独自SSL一覧に「反映待ち」となった自分のサイトのドメイン名があることを確認します。だいたい、1時間くらいで反映されると「Xserver」の公式ページには書いてあるので待ちます。
さて、これで
https://'自分のサイトのドキュメントルート'
で、自分のサイトのドキュメントルートへアクセスできるようになりました。当然、/drupal/web/
を追記すると「Drupal」へアクセス出来ます。
そこで、HTTP通信で自分のサイトへアクセスがあった場合、強制的(リダイレクト)にHTTPSに変えてアクセスするようにします。
さらに、サイトのドキュメントルートにアクセスした場合は「Drupal」ページのトップ(drupal/web
フォルダ)へ移動するようにします。「Drupal」サイトであるwebフォルダの上階のdrupalフォルダにアクセスした場合も移動するようにします。
ということで、次の内容をサイトのドキュメントルートにある「.htaccess」ファイルに追記します。
RewriteRule ^$ /drupal/web [R=301,L]
RewriteRule ^drupal/?$ /drupal/web [R=301,L]
RewriteCond %{HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
「^$」はサイトのドキュメントルートへアクセスした場合という意味の正規表現のつもりですが、コンディションでREQUEST_URIがNULLだとか何か常識的な方法があるのかもしれません。
「丸括弧」でグールプ化されたものは次に続く$1等で示す位置へ代入されたりします。
さて、上記の追記後サイトへアクセスすると「http」は「https」へ書き換えられ、ドキュメントルートや「/drupal
」へアクセスした場合は「Drupal」がインストールされた場所へリダイレクトされます。
ただし、ここで問題が発生します。
http://'自分のサイト'/drupal/web/
へアクセスした場合、/drupal/web/
ディレクトリにある「.htaccess」ファイルの設定が適用されて不思議な挙動になります。「https」に書き換わらなかったり、自分のサイトへリダイレクトのループを行ったりです。
なので、「.htaccess」ファイルの69行目辺りの RewriteEngine
はonとしRewriteCond
で%{HTTPS}
がonならばという条件がある場所に
RewriteRule ^ - [E=protossl]
があります。これが悪さをしている原因のようなので、サイトをHTTPSで運用する場合さくっとコメントアウトしてしまいます。それによって、おかしなことになっても責任は持てません。
これで、「Drupal」サイトへのアクセスが容易になりました。SEO対策的にも必要なのでリダイレクト設定は最初にやっておくと良いと思います。
今回は、「HTTPS通信」化、「Drupal」サイトへのリダイレクト設定を行いました。
次回からは、「Drupal」のテーマやモジュールを扱った内容にしたいと思います。
- コメントを投稿するにはログインしてください