zoukankan      html  css  js  c++  java
  • tp5 url 线上访问 在nginx 上 出现404错误,解决办法(1.80nginx 配置 pathInfo)

     转自:http://blog.csdn.net/woshihaiyong168/article/details/54973353

    对于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. }    
  • 相关阅读:
    洛谷P2504 [HAOI2006]聪明的猴子
    洛谷P1516 青蛙的约会
    洛谷P1991 无线通讯网
    洛谷P1265 公路修建
    可展开的列表组件
    网格视图(GridView)功能和用法
    自动完成文本框的功能和用法
    扩展BaseAdapter实现不存储列表项的ListView
    使用SimpleAdapter创建ListView
    实例:基于ListActivity实现列表
  • 原文地址:https://www.cnblogs.com/hxphp/p/6502006.html
Copyright © 2011-2022 走看看