普通のページなら
phpの普通のページだと、URLは
https://domain.jp/hoge/huga.php
のように、phpをつける必要がありました。
では、なぜLaravelはそれが必要ないのでしょう。
必ずindex.phpを開いてるから
これはURLがなにであろうと、ドキュメントルートのindex.phpを開いているからです。
https://domain.jp/hoge/huga
と書いていても、開くのは、ドキュメントルートのindex.phpです。
そして、そのindex.phpが、route.phpを読み込んで、目的のページを表示させています。
では、どうやって必ずindex.phpを読み込ませているのか
.htaccessに秘密が
RewriteEngine On ## Redirect Trailing Slashes If Not A Folder... RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)/$ /$1 [L,R=301] ## Handle Front Controller... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L]
URLの最後がスラッシュなら、残りを第一引数に渡したり、
強制的にindex.phpを呼び出したり。
あーここでいろいろしてたんですね。
nginxの場合
ちなみに、nginx+php-fpmとかで構築してるときには、nginxの方でも設定されてることもあります。
詳しくはこちらへ