php - 在 Laravel 中为路由设置别名

标签 php laravel routes alias

我有几个相同的页面,但有不同的网址。如何为路由设置这些别名? 到目前为止,我只看到以下方法:

Route::get('/alias1', 'HomeController@someAction');
Route::get('/alias1.html', 'HomeController@someAction');
Route::get('/alias1.php', 'HomeController@someAction');
Route::get('/alias4', 'HomeController@someAction');

有没有更好的方法来设置别名?

最佳答案

您可以使用正则表达式约束轻松约束路由参数的格式:

Route::get('{alias}', 'HomeController@someAction')
    ->where('alias', 'alias1|alias1.html|alias1.php|alias4');

public function someAction($alias)
{
    ...
}

仅当路径是您的 4 个别名之一时,该路由才会匹配。

Laravel 6.x Docs - Routing - Parameters - Regular Expression Constraints 哪里

关于php - 在 Laravel 中为路由设置别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58851507/

相关文章:

javascript - 如何在页面加载之前显示 reCAPTCHA

php - 在 html 中定位表单

php - 使用经过验证的数据上传文件

Android 路由/冒泡事件,因为控件正在消耗 onClick 事件

php - 西莱克斯 2 : RegEx in routing

php - 从单例中使用 phalcon 的 DI?

php - Laravel 5.6 降低 redis 队列性能

php - Laravel Dingo API 和 Middleware\\VerifyCsrfToken.php 问题

javascript - 无法绑定(bind)到 'routerLink',因为它不是已知的 native 属性

php - 使用循环显示 explode 数据