Laravelで、常時httpsかつwww無しに統一したいです。
http://www.○○.com → https://○○.com
これは期待通り動作します。
しかし、ホームディレクトリ以外でURL統一すると期待通りになりません。
http://www.○○.com/path → https://○○.com/index.php
↑ホームディレクトリに飛ばされる上、末尾にindex.phpが付いてしまいます。
この場合だと https://○○.com/path に飛ばされるべきです。
また https://○○.com/index.php/path のように、ディレクトリの間にindex.phpを入れても普通にページが表示されてしまいます。
この問題は、Laravelのグローバルミドルウェアで、index.phpを含むURLは404に飛ばすことで解決しようと思います。
URL統一の結果、index.php が付いてしまうのが問題です。
ブラウザから手動でindex.phpを入力した場合のみ404になってほしいです。
htaccess
1RewriteEngine on 2 3# 常時SSL 4RewriteCond %{HTTPS} off 5RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 6 7# www無しに 8RewriteCond %{HTTP_HOST} ^(www.○○.com) [NC] 9RewriteRule ^(.*) https://○○.com/$1 [R=301,L]
期待する動き
http://www.○○.com → https://○○.com http://www.○○.com/path → https://○○.com/path https://○○.com/index.php → 404 https://○○.com/index.php/path → 404 https://○○.com/path/index.php → 404
現状 http://www.○○.com/path → https://○○.com/index.php
これを https://○○.com/path にする方法がわかれば解決できると思います。
質問が複雑ですみませんが、解決策わかる方いましたらご教示ください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/04/18 18:50 編集
2019/04/18 18:54
2019/04/18 18:59