Хотя в настоящее время принятый ответ сфокусирован на использовании модуля rewrite
apache, существует ряд случаев, когда этот ответ неприменим, для очевидного примера, когда apache вообще не используется или когда модуль перезаписи не используется.'t и не может быть включен.
Так что более общий ответ будет включать в себя добавление этого к вашему AppController
public function beforeFilter(Event $event) {
if (!env('HTTPS')) {
return $this->redirect('https://' . $this->request->host() . $this->request->here(), 301);
}
}
, что сделает перманентное перенаправление на тот же URL-адрес подhttps, если https не используется.
Вы не указываете версию торта, поэтому вышеприведенный код - это CakePHP 3, просто удалите Event $event
из аргументов функции, чтобы сделать его Cake 2.