P粉0526867102023-09-03 00:47:56
要在 Laravel 層級處理此問題,您可以使用中間件。中間件提供了一種方便的機制來檢查和過濾進入應用程式的 HTTP 請求。
以下是您可以如何執行此操作的範例。
首先,透過執行以下指令建立一個新的中間件:
php artisan make:middleware SubdomainRedirectMiddleware
接下來,開啟新建立的檔案app/Http/Middleware/SubdomainRedirectMiddleware.php,並將重定向邏輯加入handle方法:
public function handle(Request $request, Closure $next) { // Replace 'mydomain' with your actual domain if ($request->getHost() === 'mydomain.com') { // Replace 'subdomain' with your actual subdomain return redirect()->to(str_replace('mydomain.com', 'subdomain.mydomain.com', $request->fullUrl())); } return $next($request); }
然後,你需要註冊這個中間件。開啟app/Http/Kernel.php,將以下行加入routeMiddleware陣列:
protected $routeMiddleware = [ 'subdomain.redirect' => \App\Http\Middleware\SubdomainRedirectMiddleware::class, ]; Route::group(['middleware' => 'subdomain.redirect'], function () { // All your routes go here }); Please replace 'mydomain' and 'subdomain' with your actual domain and subdomain in SubdomainRedirectMiddleware.php.
▽這是一個參考 https://www.w3schools.in/laravel/middleware