laravel框架的重定向问题以及csrf验证问题

2019-05-14  本文已影响0人  只想单纯的码代码

1. 在laravel框架安装成功后,你可能会遇见在路由访问PHP时,除了默认路由 “\” ,可以访问到主界面,即显示 laravel5的界面。其余路由全部404,

      导致这个问题出现的原因是laravel框架重定向问题,只能定向到public下的index文件。所以其余路由访问都为404。
      解决这个的问题方发也很简单,找到你本项目的laravel框架配置文件(laravel.conf)文件
      该配置文件是在你本地服务器下自动生成的配置文件。在nfinx/conf文件目录下,该目录下可能会存在多个laravel配置文件,如rewrite、vhosts、vhosts/rewrite文件夹下,可以分别输入以下代码进行测试。

location / {
   try_files $uri $uri/ /index.php?$query_string;
   if (!-e $request_filename){ 
     rewrite ^/(.*) /index.php last; 
  }
}
项目框架配置文件

2. 在laravel框架中,如果不做任何配置就进行post访问,会报错419,或者500

而出现这个问题的原因是laravel框架有csrf验证,

解决方发:

打开文件:app\Http\Middleware\VerifyCsrfToken.php

  1. 关闭全部csrf验证。
    在VerifyCsrfToken.php文件中加入以下代码,即关闭全部验证
 public function handle($request, Closure $next){

        if($request->method() == 'POST'){
            return $next($request);
        } 

        if ($request->method() == 'GET' || $this->tokensMatch($request)) {
            return $next($request);
        }

        throw new TokenMismatchException;
    }
  1. 关闭部分csrf验证
    在VerifyCsrfToken.php文件中进行修改$except属性,即关闭post请求的http://域名/v1/*,的csrf验证
 protected $except = [

        'v1/*'

    ];
上一篇下一篇

猜你喜欢

热点阅读