お客さんがさくらサーバでSSL設定されたのですが、httpsアクセスしてもhttpsアクセスしたことにならない。httpsアクセスすると$_SERVER['HTTPS']がセットされるはずですがない。これがセットされてない場合、httpsのURLにリダイレクトするような設定をしてたのでリダイレクトループになりました。
参考:サクラのレンタルサーバーで共有SSLを使うとHTTPSを認識しない問題
if (!isset($_SERVER['HTTP_X_SAKURA_FORWARDED_FOR'])) {}
$_SERVER['HTTP_X_SAKURA_FORWARDED_FOR']がセットされてなければhttpsじゃないと判断できるらしい。
下記のような感じでやったらできた。
private function _chk_https() { if(empty($_SERVER['HTTPS']) && !isset($_SERVER['HTTP_X_SAKURA_FORWARDED_FOR'])){ $this->_forceSSL(); } } private function _forceSSL() { return $this->redirect('https://'.env('SERVER_NAME').$this->here); }