Laravel 多个路由别名

Laravel multiple route aliases

我正在尝试创建一个带有别名数组的路由,所以当我在 [=63= 中调用 whoiswho_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/whoismy_laravel.com/who_ismy_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']) }} 例如。