Laravel 4 路由重映射Laravel 4
我正在使用Laravel4,我正在尝试创建一个cms页面,其URL看起来像:Laravel 4 路由重映射Laravel 4,laravel-4,Laravel 4,我正在使用Laravel4,我正在尝试创建一个cms页面,其URL看起来像:domain.tld/en/它是如何工作的。它们是使用后台创建的,我使用slug工作原理和当前语言获取它们。问题是,如果我想访问domain.tld/login(这是一个静态页面),它会显示一个404页面,当然,因为数据库中找不到该页面。所以我在寻找一个解决方案,如果没有找到给定的段塞,它会在其他路径中查找 请帮忙 对不起我的英语 这是我的routes.php文件 $languages = array('fr', 'en
domain.tld/en/它是如何工作的
。它们是使用后台创建的,我使用slug工作原理和当前语言获取它们。问题是,如果我想访问domain.tld/login
(这是一个静态页面),它会显示一个404页面,当然,因为数据库中找不到该页面。所以我在寻找一个解决方案,如果没有找到给定的段塞,它会在其他路径中查找
请帮忙
对不起我的英语
这是我的routes.php文件
$languages = array('fr', 'en');
$locale = Request::segment(1);
if(in_array($locale, $languages)){
\App::setLocale($locale);
}else{
$locale = null;
}
Route::group(array('prefix' => $locale), function()
{
Route::get('/', array('before' => 'loginCookie', 'uses' => 'HomeController@getIndex', 'as' => '/'));
Route::get('{slug}',array('uses' => 'ArticleController@getArticle', 'as' => 'articles.show'));
Route::group(array('prefix' => 'login'), function() {
Route::get('/', array('before' => 'guest', 'after' => 'reflashPool', 'uses' => 'UserController@getLogin'));
Route::post('/',array('before' => 'guest|csrf','after' => 'reflashPool', 'uses' => 'UserController@postLogin'));
Route::get('remind-password',array('uses' => 'UserController@getRemind'));
Route::post('remind-password','UserController@postRemind');
Route::get('reset-password/{token}','UserController@getReset');
Route::post('reset-password','UserController@postReset');
});
为了尽可能快,Laravel按照您编写的顺序处理路由,第一个满足要求的路由就是它选择的路由
因此,您只需将最通用的路线设置为最后一条:
Route::group(array('prefix' => $locale), function()
{
Route::get('/', array('before' => 'loginCookie', 'uses' => 'HomeController@getIndex', 'as' => '/'));
Route::group(array('prefix' => 'login'), function() {
Route::get('/', array('before' => 'guest', 'after' => 'reflashPool', 'uses' => 'UserController@getLogin'));
Route::post('/',array('before' => 'guest|csrf','after' => 'reflashPool', 'uses' => 'UserController@postLogin'));
Route::get('remind-password',array('uses' => 'UserController@getRemind'));
Route::post('remind-password','UserController@postRemind');
Route::get('reset-password/{token}','UserController@getReset');
Route::post('reset-password','UserController@postReset');
});
Route::get('{slug}',array('uses' => 'ArticleController@getArticle', 'as' => 'articles.show'));
});
发布您的路由文件?我有一个问题,假设我使用两个表(两个控制器),如果第一个失败,我如何搜索第二个?