【问题标题】:1 Laravel app, 2 domain names & different route groups1 个 Laravel 应用、2 个域名和不同的路由组
【发布时间】:2015-01-21 19:00:09
【问题描述】:

我有 2 个与几件事相关的项目:

  • 用户表
  • 设计
  • 资产
  • 功能

每个项目都有自己的 URL,用于生产环境的 project1.com 和 project2.com,还有 project1.local(或 local.project1.com,我不在乎)和 project2.local(或 local.project2。 com)。

我知道如何将这些 url 重定向到我的 laravel 文件夹,但我不知道是一种 干净安全 告诉 laravel 的方法:

  • project1.com -> 使用路由组 1
  • project2.com -> 使用路由组 2
  • project1.local -> 使用路由组 1
  • project2.local -> 使用路由组 2

另外,我想这样管理我的视图:

  • views/project1/
  • views/project2/
  • views/shared/(某些视图对于 2 个项目是通用的)

如果我必须调用类似 project1.myfile 的路由也没关系,但也许我可以有一个包含 'project1' 的 var 以在路由组中使用它。

目前我已经尝试过类似的方法

Route::group([
    "domain" => "project2.{extension}"
], function($extension)
{

    Route::any("/about", array(
        'as' => 'About Test',
        'uses' => 'HomeController@showWelcome')
    );

});

// Same route group for project1

在 HomeController@showWelcome 我有:

echo URL::route('About Test');

这一行显示类似:http://project2.%7Bextension%7D/about,我尝试将 $extension 传递给路由中的函数,但同样的事情发生了。

如何让 urls/route-groups 正确且安全地工作?

感谢所有帮助/评论。

谢谢!

【问题讨论】:

  • 你的 Laravel 版本是什么?

标签: laravel laravel-4 laravel-routing


【解决方案1】:

您可以为每个子域创建一个路由组,然后对每个组使用“之前”过滤器。

Route::filter('domain1', function($request)
{
    $uri = Request::path(); //this might be in $request
    $matches = preg_match('^https?:\/\/([a-zA-Z)]+)\./', $uri);
    $subdomain = $matches[1];
    Session::put('domain', $subdomain); //you can use Session::get('domain'); to retrieve this 
    //for your other conditional logic (like your views folders etc.)
    if(!($subdomain == 'domain1')){
        return false;
    }
    //check your matches to see if your subdomain matches, if it doesn't: return false
});

然后在你的路线中:

Route::group(array('before' => 'domain1'), function()
{
    Route::get('/', function()
    {
        //
    });

    Route::get('something/else', 'someMethod@SomeController');
});

冲洗并重复子域 2... 等

【讨论】:

    猜你喜欢
    • 2018-10-20
    • 2019-09-10
    • 2011-09-23
    • 1970-01-01
    • 2014-06-25
    • 2015-01-03
    • 1970-01-01
    • 2011-02-23
    • 1970-01-01
    相关资源
    最近更新 更多