ThinkPHP3.2.3+Nginx的伪静态配置

浏览:30497 发布日期:2016/05/17 分类:功能实现 关键字: 伪静态配置
用TP框架开发的公司项目,URL模式是REWRITE模式('URL_MODEL' => 2,),上传至服务器,发现URL重写这块出现了问题,于是研究了一下,找到了答案,实践通过可用,分享给大家!
server
    {
        listen 80;    
        server_name www.vc.cn;
        
        index index.php;
        root  /data/wwwroot/vc;

        #error_page   404   /404.html;
        location /
            {
                index index.php;
                #ThinkPHP REWRITE支持
                if (!-e  $request_filename) {
                    rewrite ^/(.*)$ /index.php?s=$1 last;
                }

                #301 跳转设置
                if ($host = 'vc.cn') {
                        rewrite ^/(.*) http://www.vc.cn/$1 permanent;
                }
            
            }        

        location ~ [^/]\.php(/|$)
            {
                # comment try_files $uri =404; to enable pathinfo
                try_files $uri =404;
                fastcgi_pass  unix:/tmp/php-cgi.sock;
                fastcgi_index index.php;
                include fastcgi.conf;
                #include pathinfo.conf;
            }

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
            {
                expires      30d;
            }

        location ~ .*\.(js|css)?$
            {
                expires      12h;
            }

        access_log  /home/wwwlogs/vc.log  access;
    }
如以上代码注释【#ThinkPHP REWRITE支持】。
如果ThinkPHP项目安装在二级目录,Nginx的伪静态方法设置如下,其中subdir是所在的目录名称location /subdir/ {
        if (!-e $request_filename){
            rewrite  ^/subdir/(.*)$  /subdir/index.php?s=$1  last;
        }
    }
评论( 相关
后面还有条评论,点击查看>>