配置nginx,支持php的pathinfo路径模式

nginx模式默认是不支持pathinfo模式的,类似index.php/index形式的url会被提示找不到页面。下面的通过正则找出实际文件路径和pathinfo部分的方法,让nginx支持pathinfo。

 server {
        listen       8080;
        server_name  ewifiportal.com;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   D:/Users/xc/Zend/workspaces/DefaultWorkspace/EWiFiPortal;
            index  index.html index.htm index.php;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php {
            root           D:/Users/xc/Zend/workspaces/DefaultWorkspace/EWiFiPortal;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_split_path_info ^(.+\.php)(.*)$;
            #fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_param   PATH_INFO $fastcgi_path_info;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param    PATH_TRANSLATED    $document_root$fastcgi_path_info;
            include        fastcgi_params;
        }

        # deny access to .htaccess files, if Apache‘s document root
        # concurs with nginx‘s one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }

要点:
1.~ \.php 后面不能有$  以便能匹配所有 *.php/* 形式的url

2. 需要设置path_info

fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_param   PATH_INFO $fastcgi_path_info;
时间: 2024-10-05 12:30:02

配置nginx,支持php的pathinfo路径模式的相关文章

配置nginx支持pathinfo

服务器运行的nginx+php,centos的系统.因需新部署一个网站,需要配置nginx支持pathinfo功能.网上各种查资料,终于搞定. 首先查看php.ini文件,查找cgi.fix_pathinfo=0,如不是0,改为0.重启php程序. 然后修改nginx配置文件: location ~ \.php {                    ------(去掉php后面的$) fastcgi_pass   127.0.0.1:9000; fastcgi_index  index.ph

配置Nginx支持php,出现No input file specified错误的解决方法

今天有一个项目上有一个模块,程序使用php写的,需要的服务器上搭建PHP的环境,由于我公司的服务器都是Windows系列的,本来前两天买了一台新的服务器,上面搭建了IIS服务器,跑的一个ASP的项目,现在又要部署一个PHP的项目,本想直接在IIS上配置让其支持PHP,但一想性能可能不会很高,于是又想用Apache2.2搭建一个环境,这个重量级的有点大,于是又到了Nginx,这个很小的,使用起来很方便,功能是很强大的,配置好后,访问php文件,出现 "No input file specified

四、配置nginx支持php

                                四.配置nginx支持php     在Ubuntu下搭建LNMP环境.编译安装mysql,nginx,php.最后在LNMP前提下安装composer,并且安装laravel框架.第四步,配置nginx支持php. 首先建立存放网页文件的目录,执行"sudo mkdri /usr/local/server/www".然后进入到该目录中,"cd/usr/local/server/www". 修改ngin

Linux下安装php环境并且配置Nginx支持php-fpm模块[www]

Linux下安装php环境并且配置Nginx支持php-fpm模块 http://www.cnblogs.com/freeweb/p/5425554.html 5分钟搭建 nginx +php --------------(LNMP)新手专用 http://blog.csdn.net/dyllove98/article/details/41120789 配置Nginx来支持php http://www.cnblogs.com/jecyhw/p/5504855.html nginx+php的配置与

centos下配置nginx支持php

添加nginx 默认主页index.php vim /etc/nginx/conf.d/default.conf location / { root   /usr/share/nginx/html; index  index.html index.htm index.php; } 配置nginx支持php vim /etc/nginx/conf.d/default.conf # pass the PHP scripts to FastCGI server listening on 127.0.0

配置NGINX支持中文URL 中文文件名或目录404无法访问的解决方法

Description 两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面.它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止.可是它们出发之前忘记了一件很重要的事情,既没有问清楚对方的特征,也没有约定见面的具体位置.不过青蛙们都是很乐观的,它们觉得只要一直朝着某个方向跳下去,总能碰到对方的.但是除非这两只青蛙在同一时间跳到同一点上,不然是永远都不可能碰面的.为了帮助这两只乐观的青蛙,你被要求写一个程序来判断这两只青蛙是否能够碰面,会在什么时候碰面. 我们把这

配置nginx支持TP框架

TP框架配置中默认URL_MODEL=1,而Nginx默认是不支持PATHINFO的.如果我们只想跑起来tp框架,很简单,只需到更改TP配置,设置URL_MODEL=3(兼容模式).但是如果要让Nginx支持ThinkPHP PATHINFO需要做如下配置: 1.设置ThinkPHP URL模式URL_MODEL=1: 2.修改nginx配置文件(红色部分更改称相应的内容) server { listen 80; server_name www.myblog.com; index index.p

CentOS 中 配置 Nginx 支持 https

一.基础设置: 1.yum -y update 2.yum -y install openssl* 3.cd /usr/local/nginx/conf 4.mkdir ./ssl 5.cd ./ssl # 在ssl目录下用openssl创建 .key 私钥文件和 .crt 证书文件 6.openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout www.ushark.net.key -out www.ushark.net.crt 7

配置nginx支持websocket基础文献

Nginx是一个广受欢迎的Web服务器系统,市场份额即将超越位居第二的IIS,目前,世界上访问量最大的网站中,有30%使用了Nginx.因此,支持WebSocket是Nginx社区中的一个非常大的需求.Nginx支持WebSocket,这允许用户扩展和简化基于Nginx的实时Web应用程序和平台. WebSocket是HTML5中的一种新协议,实现了浏览器与服务器全双工通信.传统Web服务中,为了实现即时通信,所用的技术是轮询(polling),是在特定的时间间隔(如每1秒),由浏览器对服务器发