PHP
WordPress

HTTPS 用ディレクトリが別のレンタルサーバで WordPress を HTTP/HTTPS 両方に対応させる

More than 5 years have passed since last update.

特殊なケースですが、WebArena の SuiteX などでは HTTPS 用のディレクトリが別のディレクトリになっており、そのままですと一つの WordPress で HTTP/HTTPS 両方に対応することができません。そこで、シンボリックリンクを使います。

関係のないものを省くと、こんな感じのディレクトリ構成です。ここでは home が HTTP 用のディレクトリ、ssl/home が HTTPS 用のディレクトリです。

├── home

└── ssl
└── home

まず WordPress を専用ディレクトリに配置する必要があります。ここでは wordpress という名前に WordPress のファイル(wp-config.php など)が入っているとします。

├── home

│ ├── .htaccess
│ ├── index.php
│   └── wordpress
└── ssl
└── home

まず home/.htaccesshome/index.phpssl/home/ にコピーします。

その後 ssl/home/wordpress から home/wordpress 宛にシンボリックリンクを貼ります。WebArena の SuiteX のように SSH でアクセスできない場合は、適当な場所に PHP ファイルを置いてブラウザからアクセスします。用が済んだら消しましょう。


symlink.php

<?php system('ln -s /path/to/home/wordpress /path/to/ssl/home/wordpress'); ?>


すると、こんな感じになります。

├── home

│ ├── .htaccess
│ ├── index.php
│   └── wordpress
└── ssl
└── home
├── .htaccess
├── index.php
└── wordpress (-> home/wordpress)

これで HTTP/HTTPS どちらでアクセスしてもエラーなく表示されるはずです。