環境
- さくらのレンタルサーバLiteプラン
- さくらのレンタルサーバで提供される「Let's Encrypt」
- Laravel5.5
質問概要
ページ内の相対パスのリンクをクリックすると、
httpsからhttpになってページ遷移する
《例》
https://example.com
↓
<a href="/top/">TOP</a>
をクリック
↓
http://example.com/top(https→httpに変わった)
この理由は何故なのでしょうか?
さくらのレンタルサーバに問い合わせたところ、
恐れ入りますが、弊社サーバ側に、自動的にURLを書き換えるような機
能はございません。
という回答をいただきましたので、迷宮入りになってしまいました。。。
自宅で遊びでたてているIISのサーバでは、同じLaravel+Let’sEncryptを使っていても、このような現象は起こりません。
何故このような現象が生じるのでしょうか。
ご存じの方がいらっしゃいましたら、ご教示いただけますと幸いです。
解決方法
AppServiceProvider.phpのbootメソッドを変更
php
1public function boot() { 2 3 // さくらのレンタルサーバで、httpsからhttpに強制リダイレクトされてしまう現象回避用 4 if (isset($_SERVER['HTTP_X_SAKURA_FORWARDED_FOR'])) { 5 $request = \Request::instance(); 6 $request->server->set('HTTPS', "on"); 7 8 $_SERVER['HTTPS'] = 'on'; 9 $_ENV['HTTPS'] = 'on'; 10 } 11 12 }
bladeのリンクの末尾から「/」を取る。
例:/top/
→/top
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/12/29 11:32
2017/12/30 09:20
2017/12/30 09:22
2017/12/30 09:22
2017/12/30 09:25
2017/12/30 09:28