IT教程 | 加入收藏 | 简体 | 繁体
ThinkPHP:Php教程讲解Php函数讲解ThinkPHP
当前位置: 首页 > Php教程 > ThinkPHP

JLWCS Nginx下实现pathinfo 模式 URL Rewrite模式支持

2015-11-05来源:[www.121ask.com]热度:0℃ 【字体:

JLWCS Nginx下实现pathinfo 模式 URL Rewrite模式支持示例:

server
{
listen 80;
#listen [::]:80;
server_name www.xxxxx.com;
index index.html index.htm index.php default.html default.htm default.php;
root  /home/wwwroot/www.xxxxx.com;
 
        error_page 404 /404.html;
 
        #去掉$是为了不匹配行末,即可以匹配.php/,以实现pathinfo
        #如果你不需要用到php5后缀,也可以将其去掉
        location ~ .php
            {
                #原有代码     
                try_files $uri =404;
                fastcgi_pass  unix:/tmp/php-cgi.sock;
                fastcgi_index index.php;
                #加载Nginx默认"服务器环境变量"配置  
                include fastcgi.conf;
                
                #定义变量 $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_param SCRIPT_FILENAME $document_root$real_script_name;
                fastcgi_param SCRIPT_NAME $real_script_name;
                fastcgi_param PATH_INFO $path_info;
            }
 
           location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
          {
            expires      30d;
           }
 
          location ~ .*\.(js|css)?$
         {
           expires      12h;
         }
 
        #如果请求既不是一个文件,也不是一个目录,则执行一下重写规则
        if (!-e $request_filename)
        {
            #解决后台URL重写问题
            rewrite ^/admin.php/(.*)$ /admin.php/$1 break;
 
            #地址作为将参数rewrite到index.php上。            
            rewrite ^/(.*)$ /index.php/$1 ;
            
            #若是子目录则使用下面这句,将subdir改成目录名称即可。
            #rewrite ^/admin/(.*)$ /admin/index.php/$1;
        }
        
access_log  /home/wwwlogs/xcb.wtc.edu.cn.log.log  access;
}
 
以上IT文章《JLWCS Nginx下实现pathinfo 模式 URL Rewrite模式支持》由名客技术网[www.121ask.com]提供阅读!
名客技术网是一个免费为广大IT技术人员提供IT教程,绿色软件,asp/php/jsp/java/net等实例视频教程,CMS教程,破解软件下载以及学习相关源码、知识的IT网站。
名客技术网如果无意之中侵犯了您的版权,请来电告知,本站将在3个工作日内删除 QQ:175352796
Copyright 2011-2017 Powered by 121ASK.COM, All Rights Reserved.
备案号:鄂ICP备11013833号-1