さくらインターネットのレンタルサーバでのNucleus FancyURL化については「Fururu Street/さくらサーバーでFancyURL」などがよく参照される.Nucleusのデフォルトの状態で使う分には問題ないが,プラグインなどを増やしていくと問題が出ることがある.
たとえばFancyURLsとしてNP_MultipleCategoriesを使用しているとき,https://www.kotoito.net/log/category/2
はきちんと当該カテゴリを絞り込んで表示するのに,https://www.kotoito.net/log/category/2/subcatid/1
のように2階層以上になっていると1階層目以外は無視されてしまう(この場合はメインカテゴリの絞り込みになってしまってサブカテゴリでは絞り込まれない).
これは,プラグインなどの各所にあるPATH_INFO
(さくらインターネットでは設定されていない)がそのままになってしまっているためである.
そこで「タイトル: Nucleus + FancyURL MODEでさくら編」に書いてあることが非常に有用である.config.phpへ以下のように追加する.
$DIR_LIBS = $DIR_NUCLEUS . 'libs/';//以下追加 if ( (!$_SERVER["PATH_INFO"]) && (isset($_SERVER["ORIG_PATH_INFO"])) ) { $_SERVER["PATH_INFO"] = $_SERVER["ORIG_PATH_INFO"]; }//ここまで // include libs
これでPATH_INFOを一括してORIG_PATH_INFOとしてくれるのでプラグインで使われていてもOKで,FancyURLsも正常に機能するようになる.
ぶっちゃけシャイヒー派の復習をしながら,いろいろいじっていたのでこんなスッキリした方法を思いつかなかった.恥.