[英]Laravel subdomain routing issue
我的Laravel應用程序(ET,EN,LV,LT)中每種語言都有三個子域,因此我的域就像et.app.foo.com
等。我為子域和常規域創建了一個路由組。是不同的用戶類型,這些用戶類型也使用前綴和名稱進行分組。我的登錄頁面運行正常,但所有其他路由都停止了工作。
這是我的web.php
$appRoutes = function () {
require base_path() . '/routes/publicRoutes.php';
require base_path() . '/routes/physicianRoutes.php';
require base_path() . '/routes/adminRoutes.php';
require base_path() . '/routes/generalRoutes.php';
require base_path() . '/routes/formRoutes.php';
};
/**
* Group main domain routes
*/
Route::group(
[
'domain' => 'app.foo.com'
], $appRoutes);
/**
* Group sub domain routes
*/
Route::group(
[
'domain' => '{subdomain}.app.foo.com',
'as' => '{subdomain}.'
], $appRoutes);
現在,這是我的管理路線的一部分:
Route::group(
[
'prefix' => 'admin',
'as' => 'admin.',
'middleware' => ['auth', 'admin']
], function () {
//when admin land on /home
Route::get("/home",
array('as' => 'dashboard',
'uses' => 'Dashboard\HomeController@admin')
);
我在我的子域路由和主域路由中收到此錯誤:
Missing required parameters for [Route: {subdomain}.admin.dashboard] [URI: admin/home]. (View:
在導航中,我正在調用route()
函數。 如何更改此設置,以使子域正常工作?
編輯
當我手動將網址輸入到地址欄時,它可以工作。 但是當我將鼠標懸停在href上時,它不會顯示到子域地址,而是顯示到我的主域
編輯2
我創建了用於路由的自定義幫助程序
function subdomain_route($route)
{
if (Config::get('app.subdomain') != null):
return route($route, ['subdomain' => \Config::get('app.subdomain')]);
else:
return route($route);
endif;
}
現在,我可以看到該路由的參數是subdomain => en
但它仍將我重定向到主域。 我該如何解決?
嘗試將子域路由放置在web.php
主域路由之前
我有一個類似的問題,可以通過將Route::domain
(或Route::group(['domain' => 'app.foo.com'], $appRoutes)
在您的情況下Route::group(['domain' => 'app.foo.com'], $appRoutes)
)放置在web.php
頂部來解決web.php
文件。
$appRoutes = function () {
require base_path() . '/routes/publicRoutes.php';
require base_path() . '/routes/physicianRoutes.php';
require base_path() . '/routes/adminRoutes.php';
require base_path() . '/routes/generalRoutes.php';
require base_path() . '/routes/formRoutes.php';
};
/**
* Group sub domain routes
*/
Route::group([
'domain' => '{subdomain}.app.foo.com',
'as' => '{subdomain}.'
], $appRoutes);
/**
* Group main domain routes
*/
Route::group(['domain' => 'app.foo.com'], $appRoutes);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.