laravel没有route.php,Laravel中的RouteCollection.php中的NotFoundHttpException

路线文件

Route::get('/home', 'HomeController@index')->name('home');

Route::get('/' , ['as' => '/', 'uses' => 'LoginController@getlogin']);

Route::post('/Login', ['as'=> 'Login' , 'uses' => 'LoginController@postLogin' ]);

Route::get('/login', array('as' => 'login', 'uses' => 'LoginController@getLogin'));

Route::group(['middleware'=>['authen','roles' ]], function(){

Route::get('/logout' , ['as' => 'logout' , 'uses'=> 'LoginController@getLogout']);

Route::get('/dashboard',['as'=> 'dashboard', 'uses'=> 'DashboardController@dashboard']);

});

的LoginController

class LoginController extends Controller{

use AuthenticatesUsers;

protected $username = 'username';

protected $redirectTo = '/dashboard';

protected $guard = 'web';

public function getLogin()

{`enter code here`

if (Auth::guard('web')->check()){

return redirect()->route('dashboard');

}

return view('login');

}

public function postLogin(Request $request)

{

$auth = Auth::guard('web')->attempt(['username'=>$request->username, 'password'=>$request->passwod , 'active' => 1]);

if ($auth) {

return redirect()->route('dashboard');

}

return redirect()-> route('/');

}

public function getLogout()

{

Auth::guard('web')->logout();

return redirect()->route('/');

}

}

每当我尝试登录时,网址都会转到“http://localhost:8000/login ”和RouteCollection.php第179行中的NotFoundHttpException:发生错误.

我尝试了很多时间,但我无法登录Laravel.

刀片文件

@extends('layouts.app')

@section('content')

login

{{ csrf_field() }}

Username

@if ($errors->has('username'))

{{ $errors->first('email') }}

@endif

Password

required>

@if ($errors->has('password'))

{{ $errors->first('password') }}

@endif

Remember Me

Login

@endsection

解决方法:

从表单的action属性中删除最后一个空格:

应该:

另外,在登录后路线中使字母L变小.

Route::post('/Login', ['as'=> 'Login' , 'uses' => 'LoginController@postLogin' ]);

应该

Route::post('/login', ['as'=> 'Login' , 'uses' => 'LoginController@postLogin' ]);

标签:php,laravel-5-4

来源: https://codeday.me/bug/20190705/1391500.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果在Visual Studio的"添加新项"对话框找不到"路由配置文件(Route Configuration File)"模板,您可以手动创建一个名为`RouteConfig.cs`的文件,并在其定义路由规则。 以下是手动创建`RouteConfig.cs`文件的步骤: 1. 在您的ASP.NET MVC应用程序的项目,右键单击"App_Start"文件夹。 2. 选择"添加" -> "类",以创建一个新的类文件。 3. 将文件命名为`RouteConfig.cs`并打开它。 4. 在`RouteConfig.cs`文件,定义一个静态方法`RegisterRoutes`,该方法接受一个`RouteCollection`参数。方法签名如下: ```csharp public static void RegisterRoutes(RouteCollection routes) { // 在此处定义路由规则 } ``` 5. 在`RegisterRoutes`方法,您可以使用`routes.MapRoute`方法定义和注册路由规则。例如: ```csharp public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } ); } ``` 在上面的示例,我们将默认路由设置为`Home`控制器的`Index`动作。 6. 确保在`Global.asax.cs`文件的`Application_Start`方法调用`RegisterRoutes`方法。例如: ```csharp protected void Application_Start() { // 其他初始化代码... // 注册路由 RouteConfig.RegisterRoutes(RouteTable.Routes); } ``` 现在,您已经手动创建了`RouteConfig.cs`文件,并在其定义了路由规则。请根据您的需求修改和添加其他路由规则。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值