我的子域路由覆盖了我在 laravel 7 中的正常网络路由

Posted

技术标签:

【中文标题】我的子域路由覆盖了我在 laravel 7 中的正常网络路由【英文标题】:My subdomain routes are overwriting my normal web routes in laravel 7 【发布时间】:2021-01-31 07:07:07 【问题描述】:

你好开发人员我有一个 laravel 7 项目,我正在尝试使用子域路由,我能够做到这一点,但是在添加子域路由后,我面临一个问题,它在所有子域中都添加了前缀路线

这是子域路由


Route::domain('demo.'.config('app.domain'))->group(function () 
    Route::name('demo.')->group(function () 
        Route::get('/', 'DemoController@index')->name('index');
    );
);

这是主路由(web.php)


Route::group([], function() 
    Route::get('/', 'FrontController@index')->name('index');
    Route::get('/about-us', 'FrontController@about')->name('about-us');
    Route::get('/contact-us', 'FrontController@contact')->name('contact-us');
    // More routes.....
);

但是当我调用 ma​​in (web.php) 路由时,它会将子域应用为主域

示例

<a href=" currentRouteIs('index') ? '#hero' : route('index') ">Home</a>
<a href=" route('about-us') ">About Us</a>
<a href=" route('contact-us') ">Contact Us</a>

它需要显示 domain.comdomain.com/about-usdomain.com/contact-us 但它显示像这样 demo.domain.comdemo.domain.com/about-us 等等

我不知道什么是解决方案请帮我解决这个问题。

提前谢谢你。

【问题讨论】:

【参考方案1】:

您的索引路由具有相同的名称。尝试更改子域上的路由名称:

Route::domain('demo.'.config('app.domain'))->group(function () 
    Route::name('demo.')->group(function () 
        Route::get('/', 'DemoController@index')->name('demo.index');
    );
);

【讨论】:

以上是关于我的子域路由覆盖了我在 laravel 7 中的正常网络路由的主要内容,如果未能解决你的问题,请参考以下文章

如果路由不在子域中,Laravel 子域路由重定向到 404

子域路由在 Laravel 5 上不起作用 - WAMPServer

如何有效地将子域名传递给 Laravel 中的控制器和视图

Laravel 子域端点不断重定向并出现 301 错误

Laravel Nginx 覆盖 phpMyAdmin

如何在 CodeIgniter 中为 Laravel 中的第一个项目定义子域路由?