タイトルはそれをかなりよく言っています... LaravelはどのようにきれいなURLを実装し、それらを正しいコントローラーにリダイレクトしますか.
CakePHP のような一部のフレームワークは.htaccessを使用してすべてを FrontController にリダイレクトし、リクエストをディスパッチしますが、laravel は.htaccessを使用しないため、少し混乱しています。
Laravel は「ルーティング」の概念を使用します。通常、クリーンな URL はすべて定義され、コントローラー アクション、無名関数、プレーン文字列など、ビューに解決されるものにマップされます。
各リクエストは、次の場所にあるファイルによってキャッチされますpublic/index.php
(これは、同じ場所にある .htaccess ファイルによって行われます)。その index.php ファイルが Laravel フレームワークをブーストまたはイルミネーションし、Laravel がコードを実行します。それはどのように行われますか?ルーティング。
app/routes.php
ルーティング構成は、ルートが次のように表示される場所にあるファイルに保存されます。
Route::get('/users', 'UserController@showUsers');
Route::get('/users/create', 'UserController@createUser');
Route::post('/users/create', 'UserController@processCreateUser');
Route::get('/users/edit/{id}', 'UserController@createUser');
Route::post('/users/edit/{id}', 'UserController@processCreateUser');
ルーティングの詳細については、ドキュメントを参照してください。Laravel ではルーティングが非常に強力であるため、ドキュメントを読むことを強くお勧めします。
Laravel サイトは、public/
フォルダーをドキュメント ルートとして使用します。.htaccess
そこにファイルがあります。