我使用xampp
在我的localhost上设置了一些子域名。
这是我的子域名路线:
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”都不会传递给方法,而是显示子域名。
任何人都可以指出我正确的方向。
E D I T 当我向方法添加$ subdomain时,我得到正确的$ id。 现在新的问题是如何在不向每个方法注入subdomain-param的情况下执行此操作。
public function gallery($subdomain, $id) {
die($id);//output is now "2"
}
答案 0 :(得分:1)
解决您的第一个问题:您应该在行动中使用变量,例如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}
之类的变量,则无论如何都必须将其捕获。