【问题标题】:How to change base url in Laravel如何在 Laravel 中更改基本 URL
【发布时间】:2018-09-03 22:44:42
【问题描述】:

有没有办法从控制器更改 laravel 中的基本 url?

我的网站中有两个模块,一个是normal browsing,另一个是subscription browsing。我想要的是,当用户首先访问我的网站时,他们可以选择他们想要浏览的内容。例如,如果他们想进行正常浏览,那么我想重定向到正常浏览,并且 url 应该是 www.example.com/normal 并且我想创建这个基本 url。所以他点击那里的任何链接都会像www.example.com/normal/somelink。订阅类似www.example.com/subscription/somelink

如果可能的话,如何查看他在订阅浏览/正常浏览的路线?

现在我在 route 添加前缀。但有时某些 url 如login,user/profile 等会成为例外。

如果可能的话,我该怎么做。任何建议。太棒了。

我现在的路线

/**
 * NORMAL BROWSING
 */
Route::group(['middleware' => ['web', 'activity'],'namespace' => 'Frontend'], function () {
    Route::prefix('normal')->group(function () {
      .......
     .......
    });
});

/**
 * SUBSCRIPTION BROWSING
 */
Route::group(['middleware' => ['web', 'activity'],'namespace' => 'Frontend'],function(){
    Route::prefix('subscription')->group(function () {  
       ........
      ........
    });

});

【问题讨论】:

    标签: laravel url laravel-5 routes laravel-5.2


    【解决方案1】:

    对您的代码稍作改动即可使其正常工作。假设 auth 和 web 是中间件

    Route::group(['prefix' => 'normal',  'middleware' => ['auth', 'web'], 'namespace' => 'Frontend'], function()
    {
        Route::get('/', function() {} );
        Route::get('/page2', function() {} );
    });
    

    这应该将您的应用程序主页带到 website.com/normal 并且第 2 页应该是 website.com/normal/page2

    您可以提及组外的其他路线。

    如果要检查用户是普通用户还是订阅用户。您可以创建一个新的中间件并在路由中使用该中间件。

    我看到您已经制作了两个中间件 web 和活动。为什么在单个组路由上同时使用这两个中间件?

    【讨论】:

    • 是的,我正在这样做,但我想有没有办法将该 URL 设为基本 URL,就像永久重定向一样。我使用网络中间件仅检查访客浏览,活动中间件记录所有用户活动,可以是访客、已验证、已验证和激活的电子邮件等,这就是为什么同一组中有 2 个中间件
    • 永久重定向是什么意思。您是否尝试将应用程序的基本 URL 更改为 site.com/normal?
    • 所以 web 和 Activity 中间件与订阅无关。对吗?
    • 是的,我只想在用户点击正常浏览时这样做。是的,网络中间战与订阅没有任何关系
    猜你喜欢
    • 2016-05-20
    • 2019-05-05
    • 2019-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-31
    • 2017-07-19
    相关资源
    最近更新 更多