下面介绍如何使Nginx支持ThinkPHP的Pathinfo和URL Rewrite模式. 1.ThinkPHP给出了ThinkPHP的官方解决方案,如下: 打开Nginx的配置文件 /etc/nginx/nginx.cof 一般是在这个路径,根据你的安装路径可能有所变化.如果你配置了vhost,而且只需要你这一个vhost支持pathinfo的话,可以直接打开你的 vhost的配置文件.找到类似如下代码(不同版本的nginx可能稍有不同,但是相差不会很远): location ~ .php…
nginx下基于ThinkPHP框架的网站url重写nginx下的基于thinkphp的应用的url重写,需了解thinkphp的各种url格式参数的处理逻辑以及nginx重写的原理.简单点说,无论哪种url格式,nginx都需要执行ThinkPHP下的应用单一入口文件,然后将各种url格式按照一定的格式规则进行进行参数化处理,最终执行指定模块与控制器:这个过程用户是看不到的,用户只能看到各种规则的url,这些url的规则如下: #第一种 普通get多参数方式 htt://www.jb100.n…
http { upstream phpfastcgi { server 127.0.0.1:9000 } } server { location / { if (!-e $request_filename) {          rewrite  ^(.*)$  /index.php?s=$1  last;     } } location ~ \.php$ {     fastcgi_pass phpfastcgi;     fastcgi_index index.php;     fastc…
前面有关于lnmp环境的搭建,在此就不在赘述.下面就简述thinkPHP如何在nginx下开启url_rewrite和pathinfo模式支持 主要有两个步骤: 一.更改php.ini将;cgi.fix_pathinfo=0  改为cgi.fix_pathinfo=1 二.更改nginx配置文件中php的location设置pathinfo模式: location ~ \.php { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index in…
在Nginx上部署ThinkPHP,解决Pathinfo问题 事实上.要解决nginx不支持pathinfo的问题.有两个解决思路,一是不使用pathinfo模式,二是改动nginx的配置文件,使它支持pathinfo. 为了使问题简单化,我选择了第一种方式.由于就另外一种方式,我查了非常多资料,发现大家的方法不尽同样.有的还区别非常大,easy造成误导,所以我选择从简出发,选择普通模式.尽管有一定的风险.当把index.php相应的前台代码改动完成之后.发现前台基本正常.但是后台仍然出现重定向…
打开Nginx的配置文件 /usr/local/nginx/conf/nginx.conf 一般是在这个路径,根据你的安装路径可能有所变化.如果你配置了vhost,而且只需要你这一个vhost支持pathinfo的话,可以直接打开你的vhost的配置文件.找到类似如下代码(不同版本的nginx可能稍有不同,但是相差不会很远): location ~ .*.(php|php5)?$ { #原有代码 } 复制代码 修改成以下代码: #去掉$是为了不匹配行末,即可以匹配.php/,以实现pathinf…
前言引入 一个刚入行的朋友,刚换工作,入职了一个新公司.新公司一个php开发,就是他.俨然老板把他当成公司扛把子了,把服务器都给了他,让他部署整个php的开发环境.那个朋友是wamp爱好者.然后面对linux服务器,我还是强烈建议他安装nginx.他同意了!内心应该不太愿意吧! 遇到问题 在nginx安装好后,把tp项目导入,发现本地好好的项目,线上不能使用.在找我解决之前,听说搞了好几天了,内心煎熬,手拍桌子头撞墙,瘦了六七斤,还是不能解决. 问题有两个: 第一个:apache的.htaces…
as今天准备把网站搬迁到nginx上发现codeigniter框架在nginx上不能使用,后来发现是nginx不支持pathinfo,下面介绍怎么在nginx下开启pathinfo 开始pathinfo支持 location ~ \.php{ fastcgi_pass ; fastcgi_index index.php; ##########################################pathinfo 模式 set $path_info ""; set $real_…
thinkphp运行在linux+nginx,如何开启pathinfo模式,我是完整测试过了,没问题的,在thinkphp配置文件 开启    'URL_MODEL'   =>  1,   1代表pathinfo模式 1,第一步 开启pathinfo php.ini 开启  cgi.fix_pathinfo=1 2,第二步 配置nginx server { listen 80; server_name www.96net.com.cn; root /var/www/www.96net.com.c…
#user root;#user nobody;worker_processes 1; #error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024;} http { include mime.types; default_type application/octet-s…