CakePHPでredirect

CakePHPのredirect関数ではまったのでメモ。

例えば、以下のようなソースコードがある。

https://xxx/test/indexにアクセスすると、

https://xxx/test/confirmにリダイレクトして、「This is confirm.」と表示したい。

しかしコレでは上手く動かないみたいで、errorが描画されしまうようだ。

いろいろ試した結果、原因は「$this->redirect(‘confirm’)」が上手くいっていないようだと判明!

(時間がなくてテストコードを書いてないので、憶測でしかないけど・・・)

$this->redirect(‘confirm’)のリダイレクト先が「http://xxx/test/confirm」みたいで、beforeFileterの処理で「https://xxx/test/index」にリダイレクトされてしまう。

コレを避けるために、リダイレクトの部分を以下のように変更しました。

$this->redirect(‘https://xxx/test/confirm’);

と指定しなかったのは、ホストが違うサーバ上で同じ処理をしたい時にソースコードを変更しなくてもいいようにするためです。

参考

Pocket

Posted in CakePHP.

コメントを残す

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">