URL内にスラッシュが連続して複数あると404エラーになる

色々と試行錯誤したけど、結局わからない

 

Laravelで、URL内に スラッシュが連続して複数あると、404エラーになるっぽい

Laravel 7.x更新で発見したこと(2)URLの余分なスラッシュ – ララジャパン

 

ただ、同じLaravelバージョンを使ってるのに、開発環境では再現しないという。

サーバのconfに設定してる値が影響してそうな気もするんだけど、よくわからない。

 

httpd.conf に RewriteEngine を設定して、

// を含む場合は、 / に変換して、リダイレクトという手を使おうかと思ったが、

これもうまくいかない。

そもそも、このやり方は根本解決になっていないから、あまり好きではない。

Apache | RewriteCondディレクティブ:URLのリライト/リダイレクトを行う条件を定義する

 

参考情報として、

Laravelの routes/web.php  の最上部にルーティングを書いたけど、

URL内に // がある場合は、変わらず404エラーになるから、routes/web.phpの書き方の問題ではなく、それ以前の問題。

どうしようか。

 

 

 

原因と対処法がわかった。

web.phpに フォールバックルート を記述することで解決した。

Route Fallback: If No Other Route is Matched - Laravel Daily

Routing - Laravel - The PHP Framework For Web Artisans

Undocumented Laravel (1) Routing 編 - Qiita