laravel - Laravel 可选参数,路径中带有斜线
问题描述
我无法创建一个具有可选参数的 laravel 路由。以下实现了我想要的行为:
Route::get('/{locale}/donate', 'MyController@index')->name('donation.index');
Route::get('/donate', 'MyController@index')->name('donation.index');
两个网址/fr/donate
都/donate
将加载MyController index()
. 但是,当我这样做时:
Route::get('/{locale?}/donate', 'MyController@index')->name('donation.index');
/donate
不会MyController index()
加载. 如何使locale
参数成为 url 中的可选段?
解决方案
在我看来,没有办法将参数定义为可选。以下是解决您问题的其他方法。
第一的
Create a subdomain for that
其次将您的可选参数移到最后。现在您的路线将如下所示
Route::get('/donate/{locale?}', 'MyController@index')->name('donation.index');
推荐阅读
- ios - CAShapeLayer 不能使用矩形路径?
- javascript - TypeScript - Rest API - 管理路由器/控制器/类
- android - 如何在 OAuth 同意屏幕中启用内部选项?
- javascript - 使用 javascript 为不和谐制作音乐机器人时出现错误寻求帮助
- python - 使用 Count 计算两个单独字符串中的字符数
- css - 文本不在按钮中垂直居中(Bootstrap 4.4 Safari macOS)
- fitnesse - FitNesse 页面标签可以在页面中使用吗?
- linux - bash - 清理包含“&”符号的脚本参数
- python - 当我将字符串传递给函数时,它不能返回“none”
- swift - 无法在 Cocoa Swift Mac OS 中更改边框颜色