nginx完美支持thinkphp3.2.2(需配置URL_MODEL=>1 pathinfo模式)
来源:http://www.thinkphp.cn/topic/26657.html
第一步:配置SERVER块
server {
listen 80;
server_name www.domain.com domain.com;
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
# \.php 只处理动态请求,对于静态资源请求由下面的 location匹配和处理
location ~ \.php {
root /data0/htdocs/www;
fastcgi_pass 127.0.0.1:9000;
# 包含nginx服务器传递给fastcgi程序的参数,
# php中通过$_SERVER['参数名']可获取
include fastcgi.conf;
# 定义变量$fastcgi_script_name_new赋值为$fastcgi_script_name变量
set $path_info "";
set $fastcgi_script_name_new $fastcgi_script_name;
# 判断url是否是pathinfo形式的,如果是则把这个url分割成两部分,
# index.php入口文件之后的pathinfo部分存入$path_info变量中,
# 剩下的部分和$document_root根目录定位index.php入口文件在文件系统中的绝对路径 .
if ($fastcgi_script_name ~* "^(.+\.php)(/.+)$" ) {
set $fastcgi_script_name_new $1;
set $path_info $2;
}
# 对fastcgi.conf中的SCRIPT_FILENAME和SCRIPT_NAME fastcgi参数进行重写,
# 目的是指定入口文件在文件系统中的绝对路径给script_filename参数,让fastcgi知道index.php文件位置。
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name_new;
fastcgi_param SCRIPT_NAME $fastcgi_script_name_new;
#定义一个新的nginx服务器传递给fastcgi的参数PATH_INFO,thinkphp需要这个入口文件index.php后的pathinfo信息
fastcgi_param PATH_INFO $path_info;
}
# 用来匹配静态资源,如果不是静态资源就重写,然后重新轮训所有的location块,
# 由上面的location块匹配后动态处理这个请求
location / {
root /data0/htdocs/www;
index index.php index.html index.htm;
if (!-e $request_filename){
rewrite ^(.*)$ /index.php$1 last;
}
}
}
第二步:打开thinkphp框架的配置文件convention.php,
修改URL_MODEL=>1,采用pathinfo模式,别设置成2啊,因为nginx重写加上了index.php入口文件了,也就是最终发送到thinkphp的url是pathinfo模式的。
第三步:在浏览器输入:www.domain.com或者www.domain.com/index.php结果如下:
:)
欢迎使用 ThinkPHP!
[ 您现在访问的是Home模块的Index控制器 ]
第四步:在浏览器中输入URL时候,用pathinfo形式的url和用rewrite形式的url两者中的任何都可以,或者不用这两个框架形式的url, 用一般形式的url。例如:
pathinfo形式:
http://www.domain.com/index.php/module/controler/action/参数1/值1/参数2/值2/
rewrite形式(就是不要输入入口文件了,其它的和pathinfo模式一样)
http://www.domain.com/module/controler/action/参数1/值1/参数2/值2/
一般形式的url,不通过index.php入口文件启动框架,也就是不用框架
http://www.domain.com/test.php?par1=value1&par2=value2
这时候需要在/data0/htdocs/www这个目录下存在自定义的test.php文件,就可以直接访问这个php文件了。
nginx完美支持thinkphp3.2.2(需配置URL_MODEL=>1 pathinfo模式)的更多相关文章
- nginx完美支持thinkphp3.2.2(需配置URL_MODE=>3 rewrite兼容模式)
来源:http://www.thinkphp.cn/topic/26637.html 环境:nginx 1.6,thinkphp3.2.2 第一步,修改server块 server { listen ...
- nginx完美支持yii2框架
nginx完美支持yii2框架 server {listen 80;server_name www.peita.net peita.net;# default_server;access_log /d ...
- nginx完美支持tp框架
nginx完美支持tp框架 server { listen 80; server_name mit.520m.com.cn; access_log /data/wwwlogs/mit.520m.com ...
- nginx配置tp5的pathinfo模式并隐藏后台入口文件
server { listen 2223; server_name manage; access_log /data/wwwlogs/access_manage.log combined; root ...
- nginx缓存静态资源,只需几个配置提升10倍页面加载速度
nginx缓存静态资源,只需几个配置提升10倍页面加载速度 首先我们看图说话 这是在没有缓存的情况下,这个页面发送了很多静态资源的请求: 1.png 可以看到,静态资源占用了整个页面加载用时的90 ...
- Nginx下配置ThinkPHP的URL Rewrite模式和pathinfo模式支持
前面有关于lnmp环境的搭建,在此就不在赘述.下面就简述thinkPHP如何在nginx下开启url_rewrite和pathinfo模式支持 主要有两个步骤: 一.更改php.ini将;cgi.fi ...
- linux下配置Nginx,支持thinkphp
前言引入 一个刚入行的朋友,刚换工作,入职了一个新公司.新公司一个php开发,就是他.俨然老板把他当成公司扛把子了,把服务器都给了他,让他部署整个php的开发环境.那个朋友是wamp爱好者.然后面对l ...
- 配置nginx+tomcat支持websocket
问题情景: 最近开发新增加一个项目,需要支持https wss协议 访问https://test.aa.com 使用nginx反向代理到后端tomcat web应用 访问https://tes ...
- Nginx安装、平滑升级与虚拟机配置
Nginx 高性能HTTP反向代理服务器,也是 LAMP/POP3/SMTP代理服务器 由内核和模块组成,内核通过找配置文件讲客户端请求映射到一个location(location是Nginx配置中的 ...
随机推荐
- [业界方案] 用SOFATracer学习分布式追踪系统Opentracing
[业界方案] 用SOFATracer学习分布式追踪系统Opentracing 目录 [业界方案] 用SOFATracer学习分布式追踪系统Opentracing 0x00 摘要 0x01 缘由 &am ...
- 20190925-01安装redis 000 022
1.将redis压缩包放入Linux系统有4种办法. 第一:如果安装了VMware Tools工具可以直接进行拖拽 第二:在windows中找到配置好的共享文件夹将redis压缩包放入其中,在Linu ...
- Tomcat源码分析(类加载与类加载器)
Tomcat的挑战 Tomcat上可以部署多个项目 Tomcat的一般部署,可以通过多种方式启动一个Tomcat部署多个项目,那么Tomcat在设计时会遇到什么挑战呢? Tomcat运行时需要加载哪些 ...
- ICARUS主题美化
Icarus用户指南 - 主题美化 Icarus的主题样式编码文件为themes/icarus/layout/layout.jsx. 此文件定义了站点全局的样式设置.本文详细介绍了本主题针对文章分类的 ...
- UNIX编程艺术
本文主要是 <UNIX编程艺术>的摘录,摘录的主要是我觉得对从事软件开发有用的一些原则. 对于程序员和开发人员来说,如果完成某项任务所需要付出的努力对他们是个挑战却又恰好还在力所能及的范围 ...
- python中unittest参数化
先安装 pip install parameterized 在测试用例类中,@parameterized.parameterized.expand(这里面传一个列表),这个就是参数化的意思
- 论文:Bottom-Up and Top-Down Attention for Image Captioning and Visual Question Answering-阅读总结
Bottom-Up and Top-Down Attention for Image Captioning and Visual Question Answering-阅读总结 笔记不能简单的抄写文中 ...
- golang开发:CSP-WaitGroup Mutex
CSP 是 Communicating Sequential Process 的简称,中文可以叫做通信顺序进程,是一种并发编程模型,最初于Tony Hoare的1977年的论文中被描述,影响了许多编程 ...
- [06] 优化C#服务器的思路和工具的使用
优化C#服务器的思路和工具的使用 优化服务器之前, 需要先对问题的规模做合理的预估, 然后对关键的数据做采样, 做对比, 看和自己的预估是否一致, 误差大在什么地方, 是预估的不对, 还是系统实现有问 ...
- CentOS7使用PackageCloud安装RabbitMQ
环境:CentOS Linux release 7.6.1810 (Core) RabbitMQ:3.7.17Erlang: 22.0.7 使用PackageCloud安装RabbitMQ是最简单的安 ...