Conoha VPSのKUSANAGIを使って、WordPressブログを稼働させている。この環境のサブディレクトリに、さらにWordPressを1つ追加したときに、困ったトラブルと出会ったので、覚書。
パーマリンク設定を変更するとトラブル
パーマリンクの設定を、基本の”?p=123(クエリ型)”以外にすると、ルートにインストールしているWordPress(メインブログ)で記事を探してしまう。サブディレクトリのWordPressにあるはずのブログ記事が見つからなくなってしまう。
正直、かなり焦った。Xserverで同じようにサブディレクトリに、WordPressをインストールし、メインとサブの2つのブログがある状態を作り、検証したところ、この上の問題は起きなかった。
KUSANAGIの環境設定が、原因であること、設定を変更するとトラブル回避できるだろうと、検索したところ、全く同じ事例で解決方法が書かれたブログ記事を見つけた。感謝です。
トラブルの対策手順
KUSANAGIのnginx設定ファイルを操作して、追記します。
まずは、sshにて、KUSANAGIにログインし、suコマンドでrootユーザに昇格。
下のコマンドを入力して、設定ファイルのディレクトリへ移動。
# cd /etc/nginx/conf.d/
次に、ls コマンドで、ファイル名を確認。
# ls
xxxxxxxxxxxxxxxxxxxxxxxx_ssl.conf (xのところには、英数字のprofile IDが入っている)が見つける。
これを、Vimで編集する。(Vimの使い方はわかっている方を対象にしています)
# vim xxxxxxxxxxxxxxxxxxxxxxxx_ssl.conf
下記のコードを追加する。追加する場所は、ファイルの中に “location” の項目がたくさんあるので、その下に。 (私の場合は、ファイルの一番下までlocationのパラメータだったので、ファイル最後にある “}” の手前へ挿入した。ファイル最後の”}”は、ファイル先頭にある “server {” の閉じ括弧のため)
なお、/example の部分は、実際のサブディレクトリ名に書き直す。
location /example {
try_files $uri $uri/ /example/index.php?$args;
}
追加できたら、Vimを :wq で保存終了し、最後に下のコマンドで、KUSANAGIを再起動する。
# kusanagi restart
sshの作業はここで完了、コンソールからログアウトする。
これで、パーマリンクを、例えば、記事ID や スラッグ形式に変更しても、問題なくサブディレクトリのWordPressが記事を探してくれるようになる。