早速のご回答ありがとうございます。
また、費用も掛かるのにCoreServerでの実地のご検証、恐縮しております。
いつまでも同じ問題で引きずってしまい申し訳ありませんが、2点ほどご連絡いたします。
まず1つ目、重要度の低い話・・・。
> 301リダイレクトだと「恒久的な移動」になってしまうので、不都合が発生することが考えられます
まことに仰る通りで、こちらでも事前にその点を検討いたしました。
301リダイレクトは、”Permanent Redirect”で「恒久的な転送」
(コンテンツもURLも転送先の新しい方を表示)
302リダイレクトは、”Temporary Redirect”で「一時的な転送」
(新しいコンテンツをインデックスしつつも、URLは昔の古いURLを残す)
一時的に生成されるリダイレクト用ページ?から、コンテンツページへの
移動なので、301の方が良いのでは?と判断いたしました。
それでもやはり302の方が・・・ということであれば、
header('Status: 301 Moved Permanently'); を、
header('Status: 302 Moved Temporarily'); に変更すれば良いと思います。
またどちらにしても転送元は「一時的に生成されるリダイレクト用ページ?」
に過ぎないので、301でも302でも大差無いと判断いたしました。
次に2点目。今回問題になっているRedirect機能は、先だって挙げさせて
いただいた「インストール・ログイン・ログアウト」の他に、
「ログイン後スタートページ」機能でも利用されているようです。
(以下、素人の意見なので鵜呑みにせず、再検証いただきたいのですが)
どうもhissy様にご教示いただいた方法では、「ログイン後スタートページ」機能で
リダイレクト先を「ホームページ」以外に設定した場合、正常に動作しないようです。
試しにリダイレクト先を「カスタムページ」のブログに設定してみたのですが、
メニューバーが表示されませんでした。
修正内容から考えても、上記の挙動は不思議では無い気がいたします。
誠に恐縮ではございますが、上記ご検証いただければ幸いです。
よろしくお願いいたします。
Re: Xrea / Coreserver
2012年5月12日 at 2:52
hissy様
いつも大変お世話になっております。nanpouです。
今回もご教示ありがとうございます。
>concrete/libraries/controller.php を複製、 libraries/controller.php に設置
>(ユーザー領域でオーバーライドすることで、コアのアップデートに対応する方法)
ここ、すごく大事ですよね。気になっておりました。ありがとうございます。
また、可能であればで結構ですので、下記ご教示いただければと思います。
1. header()を追加する方法、 || ($url == "/"))を追加する方法、
方法が全く違うのに、同じ結果になるのはなぜか?
そもそも今回のエラーの、根本的原因は何なのか? 何が悪かったのか?
2. 今回編集箇所の少し下に、「public function externalRedirect」
という箇所があり、その中にも「header('Location: '.$url);」という記述があります。
今回のエラーには関係無いかもしれませんが、何らかの対応をしておいた
方が良い?のでしょうか? 今後、不具合の発生する可能性は無いのでしょうか?
今回エラーの、根本的原因にも依ると思いますが・・・。
よろしくお願いいたします。
タグ:
Your post has been saved and will be published after approval by the forum moderator.
takuro hishikawa
Re: Xrea / Coreserver
要はリダイレクト先の指定がなければトップページにリダイレクトする、という処理が書かれているのですが、「リダイレクト先の指定が無い」ことをURLが空であることで判断しています。サーバーの仕様によってここがちがうんでしょうね…。
301リダイレクトだと「恒久的な移動」になってしまうので、不都合が発生することが考えられます(Googleのbotが301を見つけると、リダイレクト前のページはインデックスされなくなるなど)。
ソースを見る限りexternalRedirectメソッドには関係ないと思います。