Laravel 多个路由别名
Laravel multiple route aliases
我正在尝试创建一个带有别名数组的路由,所以当我在 [=63= 中调用 whois
或 who_is
] 它走同一条路。
那我就不用每次都重复代码,只改别名了。
我尝试了下面的代码。
路由中的变量:
$path = 'App\Modules\Content\Controllers\ContentController@';
$aliases['whois'] = '(quemsomos|who_is|whois)';
路线:
Route::get('{whois}', array('as' =>'whois', 'uses' => $path.'getWhois'))->where('whois', $aliases['whois']);
这个也可以
Route::get('{whois}', $path.'getWhois')->where('whois', $aliases['whois']);
输入 url my_laravel.com/whois
或 my_laravel.com/who_is
或 my_laravel.com/quemsomos
会将我转到 $path.'getWhois'
(正确).
但是当我尝试在 blade 的 html 中调用它时...
<a href="{{ route('whois') }}">Who we are</a>
引用 link 转到 my_laravel.com//%7Bwhois%7D
我如何在我的 blade.php 上调用 route('whois')
并使其像在 url 上输入时一样工作?
我想在我的 blade 中使用 route
函数,这样我就可以保留一个模式。
在使用 route
函数生成路由期间,Laravel 希望您设置路由参数的值。您将参数 whois 留空,因此捕获 {whois}
的参数将不会被替换,并导致 %7B
和 &7D
获得赞誉。
因此,为了生成路由,您需要定义要用于 whois 的值; {{ route('whois', ['whois'=>'whois']) }}
例如。
我正在尝试创建一个带有别名数组的路由,所以当我在 [=63= 中调用 whois
或 who_is
] 它走同一条路。
那我就不用每次都重复代码,只改别名了。
我尝试了下面的代码。
路由中的变量:
$path = 'App\Modules\Content\Controllers\ContentController@';
$aliases['whois'] = '(quemsomos|who_is|whois)';
路线:
Route::get('{whois}', array('as' =>'whois', 'uses' => $path.'getWhois'))->where('whois', $aliases['whois']);
这个也可以
Route::get('{whois}', $path.'getWhois')->where('whois', $aliases['whois']);
输入 url my_laravel.com/whois
或 my_laravel.com/who_is
或 my_laravel.com/quemsomos
会将我转到 $path.'getWhois'
(正确).
但是当我尝试在 blade 的 html 中调用它时...
<a href="{{ route('whois') }}">Who we are</a>
引用 link 转到 my_laravel.com//%7Bwhois%7D
我如何在我的 blade.php 上调用 route('whois')
并使其像在 url 上输入时一样工作?
我想在我的 blade 中使用 route
函数,这样我就可以保留一个模式。
在使用 route
函数生成路由期间,Laravel 希望您设置路由参数的值。您将参数 whois 留空,因此捕获 {whois}
的参数将不会被替换,并导致 %7B
和 &7D
获得赞誉。
因此,为了生成路由,您需要定义要用于 whois 的值; {{ route('whois', ['whois'=>'whois']) }}
例如。