使用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
<?php
include '../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会访问到前端页面