Archives

You are currently viewing archive for 22 March 2010

[メモ] 22 March 2010 はてなブックマーク - ECCUBEの管理画面でリダイレクト先が異常な件の傾向と対策 Twitterでつぶやく

ECCUBEの管理画面でリダイレクト先が異常な件の傾向と対策

管理画面にログインしてもURLがおかしくなってリダイレクトに失敗する現象の傾向と対策。
主に、LAMP環境でECCUBEのinstall.phpで定義してあるHTML_PATHにシンボリックリンクを含むディレクトリが利用されていると発生する。
# ホスティングサービスなんかだと、ユーザは知らなくてもリンクが利用されていたりFTPでは隠蔽されていたりするのでみんな遭遇してるのでは無いかと思う。

▽ 対策
LC_Page.phpのgetRootPathメソッド以下、255行目(2.4.3の場合)にある下記
$htmlPath = str_replace("\\", "/", HTML_PATH);

を、以下のように書き換える。
$htmlPath = str_replace("\\", "/", realpath( HTML_PATH) );

▽ ポイント
URLを合成する際になぜかHTML_PATHをリアルパスへ展開後、再びリアルパスを排除するというやり方を取っているのだけれど、そのリアルパスを排除する部分ではHTML_PATHをリアルパスへ展開していないために展開したHTML_PATHが排除されずに妙な事になってしまう。
«Prev || 1 || Next»