zoukankan      html  css  js  c++  java
  • TPshop5最新版 安装 nginx 开启PATHINFO 模式资源加载路径加载失败问题,适用tp3.2PATHINFO模式REWRITE模式

    1. server {  
    2.         listen 80;  
    3.         server_name xxxxx.cn;  
    4.         root /alidata/www/xxxx;  
    5.         index index.php index.html index.htm;  
    6.   
    7.         location / {  
    8.             index  index.htm index.html index.php;    
    9.             if (!-e $request_filename){  
    10.                 #地址作为将参数rewrite到index.php上。tp框架接收s参数为controller和action,不少框架都利用这种方式来实现伪pathinfo模式(pathinfo为php功能,nginx并不支持)  
    11.                 rewrite ^/(.*)$ /index.php?s=$1 last;  
    12.                 break;  
    13.             }  
    14.         }  
    15.         #上面的正则能解决不带xx.php的,这条正则是为了rewrite url中带index.php/admin/admin/login这种,思路是一样的,将index.php后的字符串当成参数  
    16.         #location ~ /.*.php/ {  
    17.         #        rewrite ^(.*?/?)(.*.php)(.*)$ /$2?s=$3 last;  
    18.         #break;  
    19.         #}  
    20.           
    21.       location ~ .*.(php|php5)?$  
    22.         {  
    23.                 #fastcgi_pass  unix:/tmp/php-cgi.sock;  
    24.                 fastcgi_pass  127.0.0.1:9000;  
    25.                 fastcgi_index index.php;  
    26.                 fastcgi_split_path_info  ^((?U).+.php)(/?.+)$;  
    27.                 fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;  #开启pathinfo  
    28.                 fastcgi_param  PATH_INFO  $fastcgi_path_info;  
    29.                 fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;  
    30.                 include        fastcgi_params;  
    31.         }  
    32.         location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$  
    33.         {  
    34.                 expires 30d;  
    35.         }  
    36.         location ~ .*.(js|css)?$  
    37.         {  
    38.                 expires 1h;  
    39.         }  
    40.         access_log  /alidata/log/nginx/access/diancan.log;  
    41. }  

    PS:

    1、在上文中配置规则中一种是携带index.php ,一种是不需要的二者选其一即可,PATHINFO带index.php,REWRITE则不带index.php。

    2、如果项目为二级文件夹或者是多项目则需要修改红色的框中对应蓝色框部分。如果是一级文件夹则蓝色框不需为上边代码。

    3、解决NGINX PHP "No input file specified"报错问题?

     更改php.ini
    首先php.ini的配置中把
    ;cgi.fix_pathinfo=0   改为

    cgi.fix_pathinfo=1

    转发自: https://blog.csdn.net/qq_36427770/article/details/72930683

  • 相关阅读:
    深入理解is_callable和method_exists
    php数据加密及数据存储和传输
    yii2深入理解之内核解析
    细说 unicode 、utf-8 、utf-16、ascii 、gbk 、gb2312
    RESTful API架构和oauth2.0认证机制(概念版)
    深入理解yii2之RBAC(模块化系统)
    yii rbac
    Yii2 设计模式
    深入理解PHP数组函数和预定义接口
    PHP 代码规范、流程规范、git规范
  • 原文地址:https://www.cnblogs.com/hoewang/p/10257230.html
Copyright © 2011-2022 走看看