对于ThinkPHP的URL访问路劲如:http://域名/index.php/Index/BlogTest/read,原先的Nginx的是不支持的pathinfo路劲的,导致你在thinkPHP5上面测试的时候,输入相应的URL也不会提示模块名,控制器名或者方法名错误,而是出现一个404找不到的错误,那是因为Nginx无法解析这样的链接,下面讲讲如何配置:

首先找到   nginx.conf

1、只实现pathInfo

笔者的位置在   /usr/local/nginx/conf 下

vim /usr/local/nginx/conf/nginx.conf

  1. location ~ \.php {    #去掉$
  2. root          H:/PHPServer/WWW;  笔者这里默认是 html;
  3. fastcgi_pass   127.0.0.1:9000;
  4. fastcgi_index  index.php;
  5. fastcgi_split_path_info ^(.+\.php)(.*)$;     #增加这一句
  6. fastcgi_param PATH_INFO $fastcgi_path_info;    #增加这一句
  7. fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
  8. include        fastcgi_params;
  9. }

这样就实现了nginx 支持pathInfo

2、实现完全支持tp5 隐藏index.PHP 以及支持 pathinfo     栗子:

    1. server {
    2. listen       8082;
    3. server_name  localhost;
    4. charset utf-8;
    5. access_log  logs/host.access.log  main;
    6. root /usr/local/nginx/html/thinkphp/public;
    7. index  index.html index.htm index.php;
    8. location / {
    9. if (!-e $request_filename) {
    10. rewrite ^(.*)$ /index.php?s=$1 last;
    11. break;
    12. }
    13. }
    14. error_page   500 502 503 504  /50x.html;
    15. location = /50x.html {
    16. root   html;
    17. }
    18. location ~ \.php$ {
    19. fastcgi_pass   127.0.0.1:9000;
    20. fastcgi_index index.php;
    21. include fastcgi_params;
    22. set $real_script_name $fastcgi_script_name;
    23. if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
    24. set $real_script_name $1;
    25. set $path_info $2;
    26. }
    27. fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
    28. fastcgi_param SCRIPT_NAME $real_script_name;
    29. fastcgi_param PATH_INFO $path_info;
    30. }
    31. location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ {
    32. expires 30d;
    33. access_log off;
    34. }
    35. location ~ .*\.(js|css)?$ {
    36. expires 7d;
    37. access_log off;
    38. }
    39. }

tp 在Nginx上各种404的更多相关文章

  1. tp5 url 线上访问 在nginx 上 出现404错误,解决办法(1.80nginx 配置 pathInfo)

      对于ThinkPHP的URL访问路劲如:http://域名/index.php/Index/BlogTest/read,原先的Nginx的是不支持的pathinfo路劲的,导致你在thinkPHP ...

  2. nginx上传模块nginx_upload_module和nginx_uploadprogress_module模块进度显示,如何传递GET参数等。

    ownload:http://www.grid.net.ru/nginx/download/nginx_upload_module-2.2.0.tar.gzconfigure and make : . ...

  3. nginx上如何支持.htaccess伪静态转向

    我们知道在apache上有一个常用的功能.htaccess转向,只要apache编译的时候指明支持rewrite模块就可以了. 但是换到nginx上方法会有一点不一样,网上很多人说把.htaccess ...

  4. 在nginx上部署vue项目(history模式);

    在nginx上部署vue项目(history模式): vue-router 默认是hash模式,使用url的hash来模拟一个完整的url,当url改变的时候,页面不会重新加载.但是如果我们不想has ...

  5. nginx上支持.htaccess伪静态的配置实例

    本文介绍下,在nginx上配置.htaccess伪静态的方法,有需要的朋友参考下吧. 在apache上.htaccess转向,只要apache编译的时候指明支持rewrite模块即可. 但是换到ngi ...

  6. apache上.htaccess转向nginx上配置.htaccess伪静态规则

    nginx上配置.htaccess伪静态规则 在apache上.htaccess转向,只要apache编译的时候指明支持rewrite模块即可. 但是换到nginx上方法会有不同,有人说把.htacc ...

  7. 在Nginx上部署ThinkPHP,解决Pathinfo问题

    在Nginx上部署ThinkPHP,解决Pathinfo问题 事实上.要解决nginx不支持pathinfo的问题.有两个解决思路,一是不使用pathinfo模式,二是改动nginx的配置文件,使它支 ...

  8. Nginx之伪404( root与alias )

    目录 一.现象 二.root与alias的区别 三.建议 四.写在最后 一.现象   人类善于伪装,机器某些时候也善于伪装:Nginx请求看到404,第一反应就是文件不存在:但我们去检查的时候,它就正 ...

  9. nginx上部署python web

    nginx上部署python web http://uwsgi-docs.readthedocs.io/en/latest/tutorials/Django_and_nginx.html

随机推荐

  1. RobotFrameWork+APPIUM实现对安卓APK的自动化测试----第四篇【AppiumLibrary实用函数介绍】

    http://blog.csdn.net/deadgrape/article/details/50585677 通过前几篇的讲述,我相信大家已经对RF+Appium的框架已经有所了解了. 接下来我告诉 ...

  2. elasticsearch 分页查询实现方案

    1. from+size 实现分页 from表示从第几行开始,size表示查询多少条文档.from默认为0,size默认为10, 注意:size的大小不能超过index.max_result_wind ...

  3. 腾讯云 ubuntuservermysql安装和外网訪问

    1 腾讯云 购买ubuntu 默认账户是ubuntu(因为winscp 使用ubuntu没有权限写文件) 因为腾讯云主机ubuntu系统默认username为ubuntu,不喜欢每次做什么都要sudo ...

  4. Ant批量处理jmeter脚本

    Ant是一个可以把代码从某个地方拿来,编译,再拷贝到某个地方去的构建工具.一时冲动学习一下,顺便王婆卖瓜尝试着处理jmeter的脚本,于是,采坑之旅也从此开始.本文省略ant安装步骤和ant脚本说明, ...

  5. json 与其他数据 格式转换及json学习新得

    jsonobject   var a={"a","A"}   通过json都对象能很轻松的操作json数据 jsonString     var a=" ...

  6. ym—— Android网络框架Volley(终极篇)

    转载请注明本文出自Cym的博客(http://blog.csdn.net/cym492224103).谢谢支持! 没看使用过Volley的同学能够,先看看Android网络框架Volley(体验篇)和 ...

  7. 【为小白菜打call】

    作为本校的竞赛生,我必须为我大OJ打call caioj,小白菜oj,顾名思义,就是为刚踏进OI的“小白菜”们准备的网站,里面包含了许多专题内容,各种模版和讲解视频 而且对于刚学习C++的同学,更有帮 ...

  8. hdoj--2069--Coin Change(动态规划)

    Coin Change Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Tota ...

  9. TP5异常处理

    TP5异常处理 标签(空格分隔): php, thinkphp5 自定义异常处理 namespace app\common\exception; use think\Exception; class ...

  10. Qt-信号和槽-1对1

    前言:信号和槽是Qt的核心机制,窗体和控件对象之间的沟通一般都使用信号和槽. 对于部件有哪些信号和槽,可以查看help文档. 一.使用自定义槽 1.1 新建工程 新建工程,新建Widget类(基于QW ...