nginx+thinkphp5配置

thinkphp5在nginx环境下运行的时候默认是不支持通过index.php/index/index/index的形式去访问的,也不支持route,所以需要手动配置nginx使其支持。
apache默认支持

修改nginx的配置文件

  1. 找到你的thinkphp站点配置项,在其中的php项中如同下面配置

    • windows
      location ~ \.php(.*)$  {
          fastcgi_pass   127.0.0.1:9000;
          fastcgi_index  index.php;
          fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
          fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
          fastcgi_param  PATH_INFO  $fastcgi_path_info;
          fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
          include        fastcgi_params;
      }
    • linux
      location ~ \.php(.*)$  {
          fastcgi_pass   unix:/run/php/php7.0-fpm.sock;
          fastcgi_index  index.php;
          fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
          fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
          fastcgi_param  PATH_INFO  $fastcgi_path_info;
          fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
          include        snippets/fastcgi-php.conf;
      }
  2. 使nginx支持thinkphp5路由
    location / {
            index  index.php index.html index.htm;
            #如果请求既不是一个文件,也不是一个目录,则执行一下重写规则
            if ( !-e $request_filename) {
                rewrite ^(.*)$ /index.php/$1 last;
                break;
            }
        }
上一篇:ThinkPHP5配置隐藏入口index.php文件


下一篇:thinkphp5 链式操作group分组用法