nginx 配置文件 PATHINFO重写规则

user  www www;
worker_processes  2;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

pid        logs/nginx.pid;

events {
    use epoll;
    worker_connections  2048;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

log_format  main  ‘$remote_addr - $remote_user [$time_local] "$request" ‘
                      ‘$status  "$http_referer" ‘
                      ‘"$http_user_agent" "$http_x_forwarded_for"‘;

access_log  logs/access.log  main;

sendfile        on;
    fastcgi_intercept_errors on;
    keepalive_timeout  65;

#gzip  on;

server {
        listen       80;
        server_name  *.newfangzhu.com newfangzhu.com;
        #charset utf-8;
#    include drop_sql.conf;
        access_log  logs/host.access.log  main;
    
        location / {
            root   /home/www/web/new_fangzhu;
            index  index.html index.htm index.php;
        }

#error_page 404 =http://www.fangzhur.com/error/error.html
        error_page   500 502 503 504 404 /error.html;
        location = /error.html {
            root   /home/www/web/new_fangzhu/error;
        }

include /usr/local/nginx/conf/fangzhu.conf;
        location ~ \.php$ {
            root           /home/www/web/new_fangzhu;
            fastcgi_pass   127.0.0.1:8000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
    
    }

server {
        listen       80;
        server_name  test.com;
        access_log  logs/host.access.log  main;
    
        location / {
       
        root   /home/www/web/Test1/Web;
            index  index.html index.htm index.php;

if (!-e $request_filename) {
        rewrite  ^/(.*)$  /index.php/$1  last;
        break;
        }
        }

location ~ .+\.php($|/)  {
            root           /home/www/web/Test1/Web;
        set $script    $uri;
        set $path_info  "/";
            fastcgi_pass   127.0.0.1:8000;
            #fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;

#定义变量 $path_info ,用于存放pathinfo信息
                set $path_info "";
                #定义变量 $real_script_name,用于存放真实地址
                set $real_script_name $fastcgi_script_name;
                #如果地址与引号内的正则表达式匹配
                if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
                        #将文件地址赋值给变量 $real_script_name
                        set $real_script_name $1;
                        #将文件地址后的参数赋值给变量 $path_info
                        set $path_info $2;
                }
                #配置fastcgi的一些参数
            #fastcgi_index  index.php?IF_REWRITE=1;
            #include fastcgi_params.conf;
                fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
                fastcgi_param SCRIPT_NAME $real_script_name;
                fastcgi_param PATH_INFO $path_info;
        }
    
    }

}

nginx 配置文件 PATHINFO重写规则,布布扣,bubuko.com

时间: 2024-12-19 08:52:29

nginx 配置文件 PATHINFO重写规则的相关文章

linux笔记之Nginx配置文件详解

以下通过介绍常用模块来讲解Nginx配置文件指令(以下内容都是参照官方网站) 1.Nginx的主模块的常用配置指令: (1)error_log 语法:error_log  file  [debug | info | notice | wran | error | crit ] 默认值:${prefix}/logs/error.log 指定Nginx服务(与FastCGI)错误日志文件位置. 每个字段的错误日志等级默认值:main字段:error     HTTP字段:crit       ser

配置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

linux下Nginx配置文件(nginx.conf)配置设置详解(windows用phpstudy集成)

linux备份nginx.conf文件举例: cp /usr/local/nginx/nginx.conf /usr/local/nginx/nginx.conf-20171111(日期) 在进程列表里 面找master进程,它的编号就是主进程号. ps -ef | grep nginx 查看进程 cat /usr/local/nginx/nginx.pid 每次修改完nginx文件都要重新加载配置文件linux命令: /usr/local/nginx -t //验证配置文件是否合法 若ngin

nginx配置文件详解

nginx配置文件nginx.conf超详细讲解 #nginx进程,一般设置为和cpu核数一样worker_processes 4;                        #错误日志存放目录 error_log  /data1/logs/error.log  crit;  #运行用户,默认即是nginx,可不设置user nginx       #进程pid存放位置pid        /application/nginx/nginx.pid; #Specifies the value

ansible管理nginx配置文件

#生产环境中大多时候是需要管理配置文件的,安装软件包只是在初始化环境的时候用一下.下面我们来写个管理nginx配置文件的playbook 一.创建相关目录 mkdir  -p /etc/ansible/nginx_config/roles/{new,old}/{files,handlers,vars,tasks} #其中new为更新时用到的,old为回滚时用到的,files下面为nginx.conf和vhosts目录,handlers为重启nginx服务的命令. #关于回滚,需要在执行playb

NGINX配置文件nginx.conf详解

1.配置文件结构 Nginx配置文件主要分成四部分:main(全局设置).server(主机设置).upstream(上游服务器设置,主要为反向代理.负载均衡相关配置)和 location(URL匹配特定位置后的设置),每部分包含若干个指令.main部分设置的指令将影响其它所有部分的设置:server部分的指令主要用于指定虚拟主机域名.IP和端口:upstream的指令用于设置一系列的后端服务器,设置反向代理及后端服务器的负载均衡:location部分用于匹配网页位置(比如,根目录"/"

ansible-管理nginx配置文件

背景:安装软件包,只是在初始化环境时用一下,大多时候需要修改配置文件:管理Nginx配置文件的playbook,执行playbook之前,一定要备份旧的配置:机器上的配置文件需和new/files保持一致 1. 创建目录和配置文件 说明:new为更新时用到,old为回滚时用到,即将new目录内容拷贝进来 mkdir -p /etc/anxible/nginx_config/roles/new/{files,handlers,vars,tasks} mkdir -p /etc/anxible/ng

配置使用vim编辑Nginx配置文件时语法高亮

vim是Unix系统中非常实用的文本编辑器,它和传统的vi相比最大的区别在于它所支持的配色方案,这个功能使得平时编辑一些配置文件或者是在写代码的时候极大的提高工作效率,如果我们在系统中有安装vim相应的包且开启了syntax配色方案的时候会不显示语法高亮往往是配置设置错误所引起的.一般配置错误有2个地方:1.是远程服务器的仿真客户终端配置错误:2.是服务器上环境变量配置错误.在这里就用SecureCRT仿真客户终端为例子简单的说一下vim开启syntax配色方案: 在SecureCRT上需要配置

nginx支持pathinfo并且隐藏index.php

How To Set Nginx Support PATHINFO URL Model And Hide The /index.php/ 就像这样 The URL before setting like this: http://serverName/index.php?m=Home&c=Customer&a=getInformation&id=1 Now like this: http://serverName/Home/Customer/getInformation/id/1