concrete/libraries/controller.php を複製、 libraries/controller.php に設置(ユーザー領域でオーバーライドすることで、コアのアップデートに対応する方法)し、下記の通りに書き換えます。
▼修正前
public function redirect() {
$args = func_get_args();
$url = call_user_func_array(array('View', 'url'), $args);
if ($url == '') {
$url = BASE_URL . DIR_REL;
}
header("Location: " . $url);
exit;
}
▼修正後
public function redirect() {
$args = func_get_args();
$url = call_user_func_array(array('View', 'url'), $args);
if (($url == '') || ($url == "/")) { // ←ココを変更
$url = BASE_URL . DIR_REL;
}
header("Location: " . $url);
exit;
}
これでインストール時、ログアウト・ログイン時の問題は解決します。
nanpou
Re: CoreServerで「5.5.2.1.ja」が動作不良
いくつかの問題を解決できましたので、ご報告いたします。
1.「トップページ」に戻ったところ、なぜか突然インストールが開始
2.ログアウトはできるがエラー表示
3.トップページに戻ると、なぜかログインに成功
これらを解決することができました。
【対策方法】
/concrete/libraries/controller.phpを編集。
356行あたり。
header("Location: " . $url); の前に
header('Status: 301 Moved Permanently'); を挿入。
ついでに、370行あたり
header('Location: '.$url); の前にも同じ
header('Status: 301 Moved Permanently'); を挿入。
これで正常に動作いたしました。
関西ユーザーグループ勉強会で、以前話題になっていた
「ログインしても、メニューバーが表示されない。ブラウザの再読込ボタンを押すと表示される」という問題も、この方法で解決いたしました。
(フォーラムでも、
http://concrete5-japan.org/community/forums/beginner/post-3604/
「ログインしても「編集モード」などのバーが表示されず、もう1度ログインしないと編集画面に入れない。」と、同じ問題が指摘されていました)
この解決策で問題無いか、ご検証いただければと思います。
よろしくお願いいたします。