解决thinkphp在不支持pathinfo的nginx上的问题
2016-03-08 19:46
676 查看
解决thinkphp在不支持pathinfo的nginx上的问题
2015年08月23日Linux暂无评论阅读339 views 次
最近使用thinkphp和redis写了一个仿微博的一个小项目,但是当部署到nginx服务器上时竟然都是404,经过百度才发现是因为nginx是不支持pathinfo。于是在网上找到了解决方案:
在项目对应的的配置文件中加入
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=$1 last; break;
}
}
这段代码但一定要放在
location /{
}
中
然后将[b]location ~ .+\.php的内容修改如下[/b]
location ~ .+\.php {
25 fastcgi_pass default_ups;
26 fastcgi_index index.php;
27 include fastcgi_params;
28
29 set $path_info "";
30 set $real_script_name $fastcgi_script_name;
31 if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
32 set $real_script_name $1;
33 set $path_info $2;
34 }
35 fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
36 fastcgi_param SCRIPT_NAME $real_script_name;
37 fastcgi_param PATH_INFO $path_info;
38
39
40
41 }
并且项目配置下url模式改为2:'URL_MODEL'=>2
相关文章推荐
- Web服务器- apache与nginx分析
- nginx 基本运维
- Nginx:作为cdn缓存时,follow 302
- 详解Nginx配置nginx.conf
- 深入浅出Nginx之七【重要知识补充】
- 深入浅出Nginx之六【代理缓存与负载均衡】
- 深入浅出Nginx之四【日志切割与环境变量】
- 深入浅出Nginx之三【虚拟目录与虚拟主机】
- 深入浅出Nginx之二【基本配置】
- 深入浅出Nginx之一【简介与环境搭建】
- NGINX原理剖析
- How To Set Up Nginx Server Blocks (Virtual Hosts) on Ubuntu 14.04 LTS
- 源码安装Nginx和PHP
- Nginx配置文件nginx.conf中文详解
- Nginx配置SSL安全证书避免启动输入Enter PEM pass phrase
- Nginx学习 安装 命令 server配置
- 构建高效安全的Nginx Web服务器
- centos 6.5 php mysql nginx
- [置顶] 利用Nginx 代理输出缩放图片
- Nginx开启Gzip压缩大幅提高页面加载速度