nginx完美支持thinkphp3.2.2
来源:互联网 发布:python 盲水印 编辑:程序博客网 时间:2024/05/17 04:26
第一步:配置SERVER块
修改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
- 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文件了。
文章转自:http://www.thinkphp.cn/topic/26657.html
0 0
- nginx完美支持thinkphp3.2.2
- 让nginx完美支持Thinkphp的配置
- thinkphp3.2.2如何支持多语言切换
- thinkphp3.2.3多语言支持
- thinkphp nginx下面完美配置解决404 file not found(让nginx支持PATHINFO路由模式)
- thinkphp3.2与phpexcel完美案例
- 完美解决thinkphp3的mysql连接问题
- 【thinkphp3.x】thinkphp3.x多层MVC的支持
- 【thinkphp3.x】thinkphp3.x中页面压缩输出支持
- 最新完美解决nginx支持thinkphp的PATH_INFO,URL格式的问题
- Linux|CentOS+Nginx+Apache+MySQL+PHP+Tomcat的配置教程,完美支持PHP、JAVA
- mac thinkphp3.2 nginx配置rewrite pathinfo
- ThinkPHP3.2.3+Nginx的伪静态配置
- ThinkPHP3.2.3 Nginx pathinfo & URL重写
- thinkphp3.2 nginx conf文件配置
- wamp完美支持asp
- loadrunner11完美支持IE8
- ThinkPHP3.2.2学习记录
- HDU 2199 牛顿迭代
- 监听文本框事件几种方法总结
- Spark编程使用的基本指令
- 欢迎使用CSDN-markdown编辑器
- 做app的一些UI包
- nginx完美支持thinkphp3.2.2
- 二叉树的遍历
- Sqlite 清空表中所有数据 并重置自增长数据
- POJ 2823 Sliding Window(滑动窗口问题__优先队列||单调队列)
- Java研发求职指南
- Python资料合集
- android:四大组件之一content provider
- hadoop学习(一)-- centos 64位编译安装hadoop
- 菜鸟的处子秀