1个Laravel应用程序,2个域名和;不同路线组

1个Laravel应用程序,2个域名和;不同路线组,laravel,laravel-4,laravel-routing,Laravel,Laravel 4,Laravel Routing,我有两个项目与以下几方面相关: 用户表 设计 资产 特征 每个项目都有自己的URL,project1.com和project2.com用于生产环境,还有project1.local(或local.project1.com,我不在乎)和project2.local(或local.project2.com) 我知道如何将这些URL重定向到我的laravel文件夹,但我不知道如何以一种干净、安全的方式告诉laravel: project1.com->使用路线组1 project2.com->使用

我有两个项目与以下几方面相关:

  • 用户表
  • 设计
  • 资产
  • 特征
每个项目都有自己的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
此外,我希望这样管理我的视图:

  • 视图/项目1/
  • 视图/项目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传递给路由中的函数,但发生了同样的情况

如何使URL/路由组正确、安全地工作?

感谢所有帮助/意见


谢谢大家!

您可以为每个子域创建路由组,然后对每个组使用“before”筛选器

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并重复此操作。。。等等。

您的Laravel版本是什么?