server {
listen ;
server_name www.domain.com domain.com;
error_page /.html;
error_page /50x.html; location ~ \.php {
root /data0/htdocs/www;
fastcgi_pass 127.0.0.1:;
#包含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;
if ($fastcgi_script_name ~* "^(.+\.php)(/.+)$") {
set $fastcgi_script_name_new $;
set $path_info $;
}
#对fastcgi.conf中的SCRIPT_FILENAME和SCRIPT_NAME fastcgi参数进行重写
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name_new;
fastcgi_param SCRIPT_NAME $fastcgi_script_name_new;
#定义一个新的nginx服务器传递给fastcgi的参数PATH_INFO,thinkphp需要这个参数
fastcgi_param PATH_INFO $path_info;
} location / {
root /data0/htdocs/www;
index index.html index.htm;
if (!-e $request_filename){
rewrite ^(.*)$ /index.php$ last;
}
}
}

tp支持PHPinfo

第二步:打开thinkphp框架的配置文件convention.php,

修改URL_MODEL=>1,采用pathinfo模式,别设置成2啊,因为nginx重写加上了index.php入口文件了。

第三步:在浏览器输入:www.domain.com,结果如下:

:)

欢迎使用 ThinkPHP!

[ 您现在访问的是Home模块的Index控制器 ]

第四步:在浏览器中输入URL时候,用rewrite形式的url,就是不要输入入口文件了,其它的不变和pathinfo模式一样,例如:
http://www.domain.com/module/controler/action/参数1/值1/参数2/值2/

网址中不再需要输入入口文件index.php了,因为在刚才重写时我们已经指定好了入口文件index.php。

第二步:打开thinkphp框架的配置文件convention.php,

修改URL_MODEL=>3,采用rewrite兼容模式,并且修改
'VAR_PATHINFO'=> 's', 重写时我们用的是s=""的形式.

第三步:在浏览器输入:www.domain.com,结果如下:

:)

欢迎使用 ThinkPHP!

[ 您现在访问的是Home模块的Index控制器 ]

第四步:在浏览器中输入URL时候,还是用rewrite形式的url,就是不要输入入口文件了,其它的不变,例如:
http://www.domain.com/module/controler/action/参数1/值1/参数2/值2/

网址中不再需要输入入口文件index.php了,因为在刚才重写时我们已经指定好了入口文件index.php。

nginx不支持pathinfo函数的更多相关文章

  1. codeigniter在nginx 下支持pathinfo和去除index.php的方法

    as今天准备把网站搬迁到nginx上发现codeigniter框架在nginx上不能使用,后来发现是nginx不支持pathinfo,下面介绍怎么在nginx下开启pathinfo 开始pathinf ...

  2. 解决Nginx不支持pathinfo的问题

    server { listen 80; server_name www.zq27.cc zq27.cc; root /data/wwwroot/www.zq27.cc/; access_log off ...

  3. nginx不支持pathinfo 导致thinkphp出错解决办法

    location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=$1 last; break; } } 然后项目配置下url ...

  4. [转]Nginx+ThinkPHP不支持PathInfo的解决办法

    FROM : http://www.4wei.cn/archives/1001174 应集团要求,公司的服务器全收到集团机房统一管理了,失去了服务器的管理配置权限. 杯具就此开始. 首先要解决文件大小 ...

  5. 使得nginx支持pathinfo访问模式

    原理:     任意创建一个 in.php 文件:             <?php                       echo '<pre>';             ...

  6. Nginx下实现pathinfo及ThinkPHP的URL Rewrite模式支持

    打开Nginx的配置文件 /usr/local/nginx/conf/nginx.conf 一般是在这个路径,根据你的安装路径可能有所变化.如果你配置了vhost,而且只需要你这一个vhost支持pa ...

  7. nginx低版本不支持pathinfo模式,thinkphp针对此问题的解决办法

    将一个thinkphp项目从apache环境移到nginx1.2上,怎奈,nginx这个版本默认不支持pathinfo模式 首先,编辑nginx的虚拟主机配置文件 location ~ .*.(php ...

  8. Nginx下支持ThinkPHP的Pathinfo和URl Rewrite模式

    下面介绍如何使Nginx支持ThinkPHP的Pathinfo和URL Rewrite模式. 1.ThinkPHP给出了ThinkPHP的官方解决方案,如下: 打开Nginx的配置文件 /etc/ng ...

  9. 配置Nginx支持pathinfo模式

    Nginx服务器默认不支持pathinfo, 在需要pathinfo支持的程序中(如thinkphp),则无法支持”/index.php/Home/Index/index”这种网址.网上流传的解决办法 ...

随机推荐

  1. HDU 1848 Fibonacci again and again (斐波那契博弈SG函数)

    Fibonacci again and again Time Limit: 1000MS   Memory Limit: 32768KB   64bit IO Format: %I64d & ...

  2. 改变服务器sshd 的22的端口

    [root@v01-svn-test-server ~]# vi /etc/ssh/sshd_config Port 22 Port 5001 #新增加5001端口给sshd,现在22,5001都是s ...

  3. Merge和Rebase在Git中的区别

    git命令Merge和Rebase的区别 git merge 会生成一个新得合并节点,而rebase不会 比如: D---E test / A---B---C---F master 使用merge合并 ...

  4. Linux内核同步机制之(二):Per-CPU变量

    转自:http://www.wowotech.net/linux_kenrel/per-cpu.html 一.源由:为何引入Per-CPU变量? 1.lock bus带来的性能问题 在ARM平台上,A ...

  5. CI中PHP写法规范(不断更新)

    1.类名首字母大写,多个单词用下划线连接,首字母小写是无效的 举例: class CI_Model 2.routes路由配置中的右侧在配置类名和方法名的时候都是小写,如果大写可能会出现404找不到的错 ...

  6. 在Mac OS X 10.8中配置Apache + PHP + MySQL

    在Mac OS X 10.8中配置Apache+PHP+MySQL的内容包括: 配置Apache 配置PHP 安装MySQL 配置PHPAdmin 设置数据库默认字符集 一. 配置Apache 1. ...

  7. iOS通过ASIHTTPRequest提交JSON数据

    先验知识——什么是ASIHTTPRequest? 使用iOS SDK中的HTTP网络请求API,相当的复杂,调用很繁琐,ASIHTTPRequest就是一个对CFNetwork API进行了封装,并且 ...

  8. Windows Phone8 遇见的问题

    1.公司的无线路由可以自动分发ip地址,模拟器可以自动获取ip,进行连接.宿舍的无线路设置了DHCP 不能自动分发ip地址,模拟器连接不到ip,上不去网,我就去hyper-v 管理器里修改了静态mac ...

  9. 关于PHP数组转字符串详细介绍

    随着时代的发展,我们的开发技术也随着更新,对于PHP还是比较常用的,于是我研究了一下PHP数组转字符串,在这里拿出来和大家分享一下,希望对大家有用. 经常需要使用PHP处理字符string,PHP内置 ...

  10. kinect学习笔记(四)——各种数据流

    一.kinect开发的一个流程图 1.我们可以知道一个简单的框架就是几部分 (1)选择使用的kinect传感器 KinectSensor.KinectSensors[] (2)打开需要的数据流 _ki ...