さくらのレンタルサーバで無料SSL化(2)

先日、当社のホームページをSSL化したのですが、その後、少々問題が発生しました。

当社では、ホームページを掲載するためのルートドメインの他、サブドメインをふたつ使っています。
先日は、ルートドメインに対してSSL化したのですが、その結果、SSL化していないサブドメインにアクセスしようと思っても、アドレスが勝手に「http」から「https」にリダイレクトされてしまい、サブドメインにアクセスできません。

ディレクトリ構成を確認すると、以下のようになっていました。

top/				→ルートドメイン
    <WordPress用各種ファイル>
    sub1/			→サブドメイン1
        wp/
            <WordPress用各種ファイル>
    sub2/			→サブドメイン2
        dir1/
        dir2/

ルートドメインのSSL化の際にWordPress用の「常時SSL化プラグイン」を行なったのですが、これにより、最上位ディレクトリの直下に、リダイレクトについて書かれた「.htaccess」ファイルが作られていました。
この「.htaccess」ファイルが、下位ディレクトリに対しても有効になってしまうため、サブドメインにアクセスできなくなったようです。

top/				→ルートドメイン
    .htaccess			→リダイレクトを設定(下位ディレクトリにも有効)
    <WordPress用各種ファイル>
    sub1/			→サブドメイン1
        wp/
            <WordPress用各種ファイル>
    sub2/			→サブドメイン2
        dir1/
        dir2/

対処法について考えました。

サブドメイン1では、別途WordPress環境を構築しているので、これについては、ルートドメインと同様に、SSL化することにします。
SSL化した結果、ルートドメインの「.htaccess」とほぼ同じ内容の「.htaccess」ファイルが、サブドメイン1の下にもできました。

サブドメイン2はSSL化したくないので、ルートドメインの「.htaccess」の内容を上書きするための「.htaccess」ファイルを設置します。
「.htaccess」の構文については全く知らないのですが、以下のように記述してみました。

<IfModule mod_rewrite.c>
RewriteEngine off
</IfModule>

これで確認したところ、うまくいきました。
このファイルをサブドメイン2の直下に設置したので、サブドメイン2より下の各ディレクトリについては、リダイレクトされずにアクセスできるはずです。

結果、以下のように、各ドメイン毎に「.htaccess」ファイルが設置されていることになります。

top/				→ルートドメイン
    .htaccess			→(1)
    <WordPress用各種ファイル>
    sub1/			→サブドメイン1
        wp/
           .htaccess		→(2) (1)とほぼ同じ内容
            <WordPress用各種ファイル>
    sub2/			→サブドメイン2
        .htaccess		→(3) リダイレクトしないように設定
        dir1/
        dir2/

今のところはうまくいっているので、しばらくはこれで様子を見ようと思います。

 

なお、私がWordPressの使い方を習得するのにあたっては、以下の書籍を参考にさせていただきました。

WordPressについては、Web上にもたくさんの情報がありますが、きちんと理解して使いたい場合には、一度書籍も読んでおいた方がいいかもしれません。

 


このサイトで書いている、ワードプレスに関するブログ記事を、「さとやまノート」という別のブログページに、あらためて整理してまとめました。

他のワードプレス記事にも興味のある方は「さとやまノート」をご覧ください。