使用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会访问到前端页面。