zoukankan      html  css  js  c++  java
  • nginx不支持pathinfo函数

    server {
            listen 80;
            server_name www.domain.com domain.com;
            error_page 404 /404.html;
            error_page 500 502 503 504 /50x.html;
    
            location ~ .php {
                    root /data0/htdocs/www;
                    fastcgi_pass 127.0.0.1:9000;
                    #包含nginx服务器传递给fastcgi程序的参数,php中通过$_SERVER['参数名']可获取
                    include   fastcgi.conf;
                    #定义变量$fastcgi_script_name_new赋值为$fastcgi_script_name变量
                    set $path_info "";
                    set $fastcgi_script_name_new $fastcgi_script_name;
                    if ($fastcgi_script_name ~*  "^(.+.php)(/.+)$") {
                            set $fastcgi_script_name_new $1;
                            set $path_info $2;
                    }
                            #对fastcgi.conf中的SCRIPT_FILENAME和SCRIPT_NAME fastcgi参数进行重写
                            fastcgi_param   SCRIPT_FILENAME   $document_root$fastcgi_script_name_new;
                            fastcgi_param   SCRIPT_NAME   $fastcgi_script_name_new;
                            #定义一个新的nginx服务器传递给fastcgi的参数PATH_INFO,thinkphp需要这个参数
                            fastcgi_param   PATH_INFO $path_info;
            }
    
            location / {
                    root /data0/htdocs/www;
                    index  index.html index.htm;
                    if (!-e  $request_filename){
                            rewrite ^(.*)$ /index.php$1 last;
                    }
            }
        }

    tp支持PHPinfo

    第二步:打开thinkphp框架的配置文件convention.php,

    修改URL_MODEL=>1,采用pathinfo模式,别设置成2啊,因为nginx重写加上了index.php入口文件了。

    第三步:在浏览器输入:www.domain.com,结果如下:

    :)

    欢迎使用 ThinkPHP!

    [ 您现在访问的是Home模块的Index控制器 ]

    第四步:在浏览器中输入URL时候,用rewrite形式的url,就是不要输入入口文件了,其它的不变和pathinfo模式一样,例如:
    http://www.domain.com/module/controler/action/参数1/值1/参数2/值2/

    网址中不再需要输入入口文件index.php了,因为在刚才重写时我们已经指定好了入口文件index.php。

    第二步:打开thinkphp框架的配置文件convention.php,

    修改URL_MODEL=>3,采用rewrite兼容模式,并且修改
    'VAR_PATHINFO'=> 's', 重写时我们用的是s=""的形式.

    第三步:在浏览器输入:www.domain.com,结果如下:

    :)

    欢迎使用 ThinkPHP!

    [ 您现在访问的是Home模块的Index控制器 ]

    第四步:在浏览器中输入URL时候,还是用rewrite形式的url,就是不要输入入口文件了,其它的不变,例如:
    http://www.domain.com/module/controler/action/参数1/值1/参数2/值2/

    网址中不再需要输入入口文件index.php了,因为在刚才重写时我们已经指定好了入口文件index.php。

  • 相关阅读:
    gRPC java 客户端,服务器端通讯使用json格式
    HDTV(1920x1080)码率和视频质量关系的研究 2 (实验结果)
    Fedora 18/19没有注销
    window API一天一练之邮槽
    在C语言环境下使用google protobuf
    Cantor展开式
    LeetCode题解:Rotate List
    不知不觉vs2012 update 4出来了
    http://download.csdn.net/detail/yanzi1225627/6548337
    【虚拟化实战】Cluster设计之一资源池
  • 原文地址:https://www.cnblogs.com/zx-admin/p/4171796.html
Copyright © 2011-2022 走看看