Laravel 4.2 子域路由参数

标签 laravel parameters routes subdomain

我已经使用 xampp 在我的本地主机上设置了一些子域。 这是我的子域路由:

    Route::group(['domain' => '{subdomain}.localhost'], function(){
    Route::get('home',                array('as'=>'sub.home',         'uses'=>'SubdomainController@home')
    Route::get('gallery/{id}',     array('as'=>'sub.gallery',        'uses'=>'SubdomainController@gallery'));
});

这些是我的链接:

{{ URL::route('sub.home', array($subdomain)) }}
{{ URL::route('sub.gallery', array($subdomain,2)) }}

“home-route”按预期工作,但无论我做什么,gallery-route 参数“2”都不会传递给该方法,而是显示子域的名称。

任何人都可以指出我正确的方向吗?

编辑 当我将 $subdomain 添加到该方法时,我得到了正确的 $id。 现在的新问题是如何在不将子域参数注入(inject)到每个方法中的情况下做到这一点。

public function gallery($subdomain, $id) {
    die($id);//output is now "2"
}

最佳答案

问你的第一个问题:你应该在你的操作中使用变量,例如 from Laravel sub-domain official documentation :

Route::group(['domain' => '{account}.myapp.com'], function () {
    Route::get('user/{id}', function ($account, $id) {
        //
    });
});

回答你的第二个问题:你可以尝试对你的子域进行硬编码:

Route::group(['domain' => 'something.localhost'], function(){

如果您使用像 {subdomain} 这样的变量,则无论如何都必须捕获它。

关于Laravel 4.2 子域路由参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35939429/

相关文章:

python - flask-restful 有一个 get/<id> 并在同一个类中用 json 发布

javascript - 通过react-router处理带有斜杠的路径的方法是什么?

laravel - 在 Laravel 5.2 中工作的查询在 Laravel 5.3 中给我错误

php - hasmany 表中的 Laravel Dropzonejs 文件验证

php - 如何在 Laravel 中导入导出到 Excel

java - 在参数上强制执行子类 Java 类型

c# - 为什么我的 C# .Net Core Rest API 路由找不到我的方法?

javascript - 在 js 中监听 laravel livewire 生命周期钩子(Hook)

java - 在 Java Swing 中,如何将数组中的数据从一个表单传递到下一个表单?

c# - Neo4j + bolt + C#;如何通过将映射作为参数传递来通过一个查询创建多个节点