これまでサブドメイン型でマルチサイトを展開していたのですが、思うところあってサブディレクトリ型に変更することにしました。
(親サイト)http://koukasnote.com/
(子サイト)https://koukasnote.com/blogs/
とまあ、ご存知のとおりこんな階層にしたかったのです。ところが、親サイトに記事をインポートし、URLをチェックしてみると、パーマリンクのカスタム構造に「blog」という文字が入っているではありませんか。これは邪魔だ!ということで、「blog」を削除する方法を備忘録として残します。
サイトネットワーク管理画面の個別サイト欄を編集
ググってみると、サイト一覧の個別設定から簡単に修正できることが分かったので、早速編集。
サイトネットワーク管理者 → サイト → /(親サイト)
で編集を選び、設定タブの中の「Permalink Structure」にデフォルトで記述してある「blog」を消します。これでOKとのこと。私はカテゴリー+ポスト名にしたかったので「/%category%/%postname%/」と上書きしました。
これで万事解決!……と思いきや、肝心の記事がNot Foundになるではありませんか。
「http://kuten.biz/カテゴリー名+ポスト名」でURLを発行できているのに、記事はやっぱり「blog」を付けないとアクセスできない。この症状、ちょっとググった程度ですが、他に訴えている人を見つけられなかったので、私の環境だけに起こったものかもしれません。いずれにしろ、ど素人の私にはなんのことやらさっぱり……。
options-permalink.phpを編集する
気になっていたのは、「Permalink Structure」から「blog」を削除して「カテゴリー+ポスト名」でURLを発行できても、パーマリンクのカスタム構造には「blog」という記述が残っていることでした。やっぱりコイツが原因なんじゃないかなーと思い、元から絶つことにします。WordPressのフォーラム情報を頼りに、FTPでサーバにアクセスし、WordPress内「wp-admin」フォルダ内にある「options-permalink.php」を開くと、
$blog_prefix = ‘/blog’;
という記述があったので、これを
$blog_prefix = ”;
に上書きします。早速アクセスし直してみると、ばっちり成功!いやあスッキリしました!!
それにしても、なぜこんな余計な設定を付けるのでしょう。「blog」を付けたければパーマリンクのカスタム構造を自分で変えますってのに。話はズレますが、子サイト名に「blog」を禁止している意味もよく分かりません。ロールプレイングやシミュレーションゲームのように、ちょっと不便なところをあえて付けておき、プレイヤーにそれを解決させて喜びや達成感を実感させる策略でしょうか。
何はともあれ、解決できて良かった。