ngnix配置url定向到tp框架public下面的文件夹,ngnixtp


使用think PHP框架进行前后端分离开发,前端代码放到public文件夹下,默认访问的是public下面的consol.php文件启动框架,若在public下面建有文件夹front,前端页面在front下,在ngnix配置访问到public文件夹下,前端首页若为index.html,则url访问应为:

http://yourdomain.com/front/index.html

每次访问都经过一层front比较不爽,但是直接将域名指向font下,无法调用console.php启动框架。

解决办法:

在front下新建一个consoel.php文件,包含上一层的框架启动文件console.php

在ngnix中直接将域名指向front文件下的console.php文件

server {
    listen 80;
    server_name   yourdomain.com;

    set        $root   "D:/phpstudy/WWW/project/public/front";

    location ~ .*\.(gif|jpg|jpeg|bmp|png|ico|txt|js|css)$
    {
        root $root;
    }

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

    location ~ .+\.php($|/) {
        fastcgi_pass    127.0.0.1:9000;
        fastcgi_split_path_info ^((?U).+.php)(/?.+)$;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
        fastcgi_param    SCRIPT_FILENAME    $root$fastcgi_script_name;
        include        fastcgi_params;
    }
}
这样直接通过域名http://yourdomain.com/index.html会访问到前端页面。

相关内容