Laravel Url两层深

时间:2018-03-25 21:40:13

标签: laravel url

学习Laravel,我在AWS上使用Ubuntu服务器设置了一个开发区域。我可以创建一个深度的页面

Route::get('/campgrounds','CampgroundController@index');

这些工作正常,但当我深入两级时,他们不能工作。当我尝试创建一个两级深度的路线时,我得到一个"您寻找的那个页面不存在"。

Route::get('/campgrounds/create', function (){
    return view('welcome');
});

我在logging.log文件中看不到任何错误信息。是否需要Laravel设置或需要更改Apache的设置?也许是.env文件中的某些内容?

这是我的路线

# php artisan route:list

Routes list

这是我的Apache站点配置:

<Directory /var/www/html/laravel/pubic>
    Options Indexes FollowSymLinks Multiviews
    AllowOverride All
    Require all granted
</Directory>

AccessFileName .htaccess

1 个答案:

答案 0 :(得分:1)

在Laravel中,将按照定义的顺序检查路线。一旦匹配,检查将停止,它将加载适当的关闭/控制器。

如果在具有相同模式的显式路由之前定义通配符路由,则通配符将首先匹配。

在此示例中,URI /campgrounds/create将与第一个通配符路由匹配,即使已在以下位置定义了确切路由:

Route::get('/campgrounds/{campground}', ...);

Route::get('/campgrounds/create', ...);

在您的显式路线之后保留您的通配符路线,您应该没问题:

Route::get('/campgrounds/create', ...);

Route::get('/campgrounds/{campground}', ...);