求救求救,观看了ThinkPHP5视频教程 后,就想部署在公司的ngnix服务器上
在UPUPW集成包中的ngnix服务器上照常创建了vhost,虚拟目录为 thinkphp.localtest.com并设置好解析 然后解压tp5后,能够从thinkphp.localtest.com/public看到笑脸 thinkphp.localtest.com返回http头403无法访问
于是修改了ngnix vhost中对应thinkphp.localtest.com目录的up-rewrite.conf配置文件
文件中加上了视频中写的代码:
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=$1 last;
break;
}
}
重启后访问thinkphp.localtest.com结果仍然为:http错误状态码:403 (更不用说传参数了)
访问thinkphp.localtest.com/public 结果ok(看到笑脸)
ngnix使用的是upupw集成环境,为了方便大家复现调试,我把设置好vhost的环境包放在了http://pan.baidu.com/s/1nu7qta5,下载解压后打开根目录的控制台upupw.exe,输入s2启动ngnix,然后修改下操作系统的host,添加一条thinkphp.localtest.com 指向127.0.0.1的记录
浏览器打开thinkphp.localtest.com就和我一模一样了,在下跪求大神帮忙调试解决好tp5的rewrite问题,好了希望能把解决办法写下来方便其他人,最好附上调试好的环境包咯,感激不尽!!(项目还没开始写,半个月已经耗在这上面了欸,有点心急如焚感觉。。)
如果找不到上面提到的up-rewrite.conf话,文件是在根目录中的vhost文件夹->thinkphp.localtest.com中,实际上是ngnix按照ngnix的vhost.conf的设置监听来访域名自动把这个up-rewrite.conf文件include到ngnix.conf的,所以这个配置文件是有效的,不信可以把up-rewrite.conf里的代码随便写错,会导致ngnix无法启动,ngnix log就会显示配置文件读取出问题。
还有,支持ThinkPHP!
Untitled1.png
( 96.81 KB 下载:12 次 )
最佳答案