我的routes.php
看起来像这样:
Route::controller('/', 'HomeController');
默认根操作为getIndex()
。但是,键入地址[DOMAIN NAME]/index
也会返回起始页面。我该如何防止这种情况?我希望只有在转到项目的根URI(/
)时才能访问起始页。
答案 0 :(得分:0)
您正在使用RESTful资源控制器,将其替换为
Route::get('/', 'HomeController@getIndex');
其他选项
/默认情况下指控制器中的索引方法,你可以使索引引用另一种创建你想要的视图的方法。
Route::get('index', 'SomeController@someMethod');
你的route.php文件中的
如果您希望页面显示404,您可以在SomeController @ someMethod
中使用public function someMethod()
{
App::abort(404)
}
或者不使用方法
Route::get('index', function() {
App::abort(404)
})
答案 1 :(得分:0)
如评论中指出的那样,您需要将/index
路线列入黑名单。 但只有那个!您不需要将每条路由列入黑名单,而不希望用户看到,因为Laravel会为每个未定义的路由处理。但index
是特殊情况,因为您必须将默认路线命名为某些名称,不是吗?
长时间的谈话,简短的意思:请放心,只有 必须将每条index
路线列入黑名单,如果它对您来说很重要。
答案 2 :(得分:0)
Route::get('/', 'HomeController@index');
Route::controller('/', 'HomeController');
我有理由想要一个控制器来处理我的所有路线:)