zoukankan      html  css  js  c++  java
  • thinkphp5在Linux下Nginx配置问题解决

    首先tp5的访问目录指向到webroot/public文件夹中。

    thinkphp的url访问:http://serverName/index.php(或者其它应用入口文件)/模块/控制器/操作/[参数名/参数值...],这个需要支持pathinfo,Apache默认支持,而Nginx不支持。

    1.php.ini中的配置参数cgi.fix_pathinfo = 1

    2.修改nginx.conf文件。


    location ~ .php(.*)$ {

      fastcgi_pass 127.0.0.1:9000;

      fastcgi_index index.php;

      #下面两句是给fastcgi权限,可以支持 ?s=/module/controller/action的url访问模式

      fastcgi_split_path_info ^((?U).+.php)(/?.+)$;

      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

      #下面两句才能真正支持 index.php/index/index/index的pathinfo模式

      fastcgi_param PATH_INFO $fastcgi_path_info;

      fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;

            include fastcgi_params;

      }

    3. 去掉/index.php/
      修改nginx.conf文件

      location / {

        index index.html index.htm index.php;

        autoindex on;

      if (!-e $request_filename) {
        rewrite ^(.*)$ /index.php?s=/$1 last;
        break;
        }
      }

    转载地址:http://www.thinkphp.cn/topic/52021.html

  • 相关阅读:
    .gitignore规则不生效的解决办法
    docker使用
    mysql 操作
    outlook转发问题
    我的梦想
    安静与流动
    sql 统计 学生成绩2
    sql 统计 关于学生成绩
    数据库备份
    web 注销回到登录页面
  • 原文地址:https://www.cnblogs.com/heanwanfeng/p/9996048.html
Copyright © 2011-2022 走看看