特に複雑でないCakePHP(1.3)設定があります。私は明らかにビューのキャッシュに関連する非常に混乱している動作を発見しました。ビューキャッシュがクリアされた場合、CakePHPリダイレクトループ
私はrequestActionを使用して動的ナビゲーションを取得する2つのビューファイルをキャッシュしています。私は、ファイルシステムからこれらのキャッシュファイルの一方または両方を削除した場合、ブラウザはしばらくハングし、エラー・ページ吐く:
ページが正しく
Firefoxが検出されたリダイレクトされていませんがサーバーがこのアドレスの要求を決して完了しない方法でリダイレクトしていることを確認します。
この問題は、Cookieの無効化または拒否によって発生することがあります。
はApache自体は、Firefoxはそれがないと考えるようにそれが何らかの形で無限ループに陥ってしまっていたら、きっとそれがログに表示されるでしょうので、奇数であるすべてのエラーをログに記録しないのですか?キャッシュファイルを元に戻すと、Cakeはすべてを通常通り表示します。
何が起こっていますか?誰もこれの前にこのようなことに遭遇しましたか?
要求アクションの呼び出しは次のようになります。
<?php
$topnav = $this->requestAction('/pages/getDynamicTopMenu');
foreach($topnav as $item):
if($item['Page']['title'] == 'Home') {
echo '<li class="'.$item['Page']['slug'].'">'.$this->Html->link($item['Page']['title'].'','/').'</li>';
} else {
echo '<li class="'.$item['Page']['slug'].'">'.$this->Html->link($item['Page']['title'].'','/pages/view/'.$item['Page']['slug'].'').'</li>';
}
endforeach;
?>
と、対応する関数は次のようになります。、ページが何度も何度も同じページにブラウザをリダイレクトしている
function getDynamicTopMenu(){
return $this->Page->find('all', array(
'conditions' => array('Page.published =' => '1','Page.top_menu' => '1'),
'fields' => array('Page.title','Page.slug','Page.top_menu'),
'order' => array('Page.id')
));
}
明らかに疑わしいことはないようです。私はいくつかのコードで私のポストを更新しました、おそらく私はしなかった何か新しい目のペアが表示されます。 – hollsk