Проблема кэширования CakePHP при перенаправлении обратно на ту же страницу

Я использую CakePHP 2.6

У меня проблема, когда я перенаправляюсь обратно в тот же вид, откуда был сделан запрос. Представление, похоже, кэшируется, поэтому любые изменения, внесенные во время запроса, не отображаются, пока страница не будет обновлена ​​снова.

Это означает:

  1. пользователь не может видеть только что внесенные изменения.
  2. Всплывающие сообщения отображаются в следующем представлении (что плохо).

Почему это происходит?

Вещи, которые я проверил:

  • В моей среде PHP отключено кэширование
  • Конфигурации My CakePHP являются значениями по умолчанию (см. Ниже).
  • Кэширование должно быть отключено, потому что я в режиме отладки: Configure::write('debug', 2);
  • Я тестирую в нескольких браузерах с включенным кешированием без браузера.

Configure::write('Session', array( 'defaults' => 'php' ));

Типичный пример:

  //Inside ListingsController... $this->Listing->id = $id; if ($this->Listing->save($listing)) { $this->Flash->success(__('"%s" is now active.', $listing['Listing']['title'])); } else { $this->Flash->error(__('Problem activating')); } //this is the original view... $this->redirect( array('controller'=>'listings', 'action'=>'mylistings') ); 

У меня точно такая же проблема. Вы нашли причину всего этого? Поскольку я пытался решить проблему, я видел это в своих заголовках ответов

 Age 0 Connection keep-alive Date Tue, 21 Apr 2015 08:47:21 GMT Server ATS/3.2.4 

Все файлы с 304 Not Modified Status имели Apache Traffic Server (ATS) (из моей локальной сети), что заставило меня думать, что это тот, который вызывает все это; Я заставил не кэшировать, как объяснено здесь, и у меня больше нет проблем.

Попробуйте это перенаправить к референту

 $this->Listing->id = $id; if ($this->Listing->save($listing)) { $this->Flash->success(__('"%s" is now active.', $listing['Listing']['title'])); // Redirect the referer $this->redirect( $this->referer() ); } else { $this->Flash->error(__('Problem activating')); } 

Благодаря..!