nginx支持codeigniter的pathinfo模式url重写配置写法示例
开发环境
codeigniter 2.14
PHP 5.4.18
nginx 1.4.2
Codeigniter配置
打开 codeignite 的 config.php 文件修改如下:
$config['uri_protocol'] = "PATH_INFO";
nginx配置
打开 nginx 的配置文件 nginx.conf 文件,修改如下:
# 我使用的是虚拟主机配置 server { listen 80; server_name dev.example.com; rewrite_log on; root /www/web/htdocs/dev.example.com; index index.php index.html index.htm; location / { index index.php index.html index.htm; } location ~ \.php($|/) { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_split_path_info ^(.+\.php)(.*)$; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } if (!-e $request_filename) { rewrite ^/(.*)$ /index.php/$1 last; break; } location ~ /\.ht { deny all; } }
现在就可以用pathinfo模式访问了,如:
相关推荐
-
Nginx如何实现pathinfo模式的方法详解
什么是pathinfo模式呢? pathinfo是伪静态的一种,我们先解释一下伪静态的概念,伪静态页面是静态URL与动态URL互通的一个桥梁,它是指动态网址通过URL重写的手段去掉其动态参数,使URL静态化,但在实际的网页目录中并没有重写URL.简单来说,伪静态URL就是通过服务器转换伪装文件名或地址,使该页面类似于静态页面,但服务器上没有独立存在的文件,其本质还是动态页面. 使用过 ThinkPHP 框架开发应用的同学应该都会知道,它有一种 URL 模式就是 pathinfo,看起来类似下面的
-
Nginx下配置pathinfo及ThinkPHP的URL Rewrite模式支持
打开Nginx的配置文件 /usr/local/nginx/conf/nginx.conf 一般是在这个路径,根据你的安装路径可能有所变化.如果你配置了vhost,而且只需要你这一个vhost支持pathinfo的话,可以直接打开你的vhost的配置文件.找到类似如下代码(不同版本的nginx可能稍有不同,但是相差不会很远): 复制代码 代码如下: location ~ .*.(php|php5)?$ { #原有代码 } 修改成以下
-
nginx+thinkphp下解决不支持pathinfo模式
nginx环境问题弄了两天,发现网上很多人的帖子要么复制粘贴,要么就是没有结贴,还自己写一句"哈哈,我自己解决了"之类的,这点我就鄙视这些发帖的同胞了,你说你问题问了,问题解决了也不给个解释.还在搜索的前几页,想没想过需要答案的人的感受呢.满心欢喜的去看答案,发现没有结贴.好吧,不多说,进入正题. 我这种方式是不需要将URL_Model改为rewrite/兼容的: 大约第43行,按照下面的对照自己的code进行修改,请注意细节的符号: location / { root C:/Zend
-
在nginx中配置pathinfo模式支持thinkphp的URL重写
最近一个项目中使用了ThinkPHP做为开发框架,URL上我们使用了PATHINFO模式,但是Nginx默认是不支持PATHINFO的,需要进行手动配置才可以,于是我们按照了以下方法进行了Nginx的PATHINFO支持配置:修改nginx.conf,找到server中的 location ~ .php${},修改为location ~ .php {},并在其中增加以下内容: 复制代码 代码如下: set $path_info "";set $real_script_name $fas
-
nginx中配置pathinfo模式示例
缘由 很久不使用apache了,渐渐对apache感到陌生,因为朋友有个ZendFramework框架从apache移到nginx下,需要pathinfo模式支持. 网上海搜 于是开始搜索nginx+pathinfo相关文章,一开以为很容易就会配置好.因为搜索后发现有大量文章介绍nginx开启pathinfo模式,感觉不是什么难事.但是经过几个小时下来,还是没有配置好.并且大量文章的内容都极其相似,基本都是转载的. 开始有点急了!因为一天过去了没有配好. 继续摸索 没办法,继续搜索.为了验证方便
-
nginx配置支持php的pathinfo模式配置方法
nginx模式不支持pathinfo模式,类似info.php/hello形式的url会被提示找不到页面.下面的通过正则找出实际文件路径和pathinfo部分的方法,让nginx支持pathinfo. location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; ##通过设置模拟出pathinfo set $path_info ""; set $real_script_name
-
Ubuntu下Nginx配置ThinkPHP的Pathinfo和URl Rewrite模式
概述 在上一篇文章Nginx配置Thinkphp支持URL Rewrite中已经介绍了如何配置Nginx支持ThinkPHP的URL Rewrite,但是上文针对的是Centos平台,这次因为某些特殊的原因,服务器环境必须用ubuntu,本来以为和Cetons中一模一样,但是配置完了发现不能使用,所以就百度了一些文章. 配置方法 TP官方解决方案 复制代码 代码如下: location ~ .php { #原有代码
-
Nginx下实现pathinfo及ThinkPHP的URL模式
打开Nginx配置文件(不同版本的Nginx可能稍有不同),配置: #去掉$是为了不匹配行末,即可以匹配.php/,以实现pathinfo #如果不需要用到php后缀,也可以将其去掉 location ~ .php { #原有代码 #定义变量 $path_info ,用于存放pathinfo信息 set $path_info ""; #定义变量 $real_script_name,用于存放真实地址 set $real_script_name $fastcgi_script_name;
-
Nginx隐藏index.php和Pathinfo模式配置例子
参照一下对应修改,重启nginx即可 复制代码 代码如下: server { listen 80; server_name www.leiyongbo.com www.leiyongbo.com; root /usr/local/web; index index.php; error_page 400 /errpage/400.html; error_page 403 /errpage/403.h
-
nginx支持codeigniter的pathinfo模式url重写配置写法示例
开发环境 codeigniter 2.14 PHP 5.4.18 nginx 1.4.2 Codeigniter配置 打开 codeignite 的 config.php 文件修改如下: $config['uri_protocol'] = "PATH_INFO"; nginx配置 打开 nginx 的配置文件 nginx.conf 文件,修改如下: # 我使用的是虚拟主机配置 server { listen 80; server_name dev.example.com; rewrit
-
CodeIgniter针对lighttpd服务器URL重写的方法
本文实例讲述了CodeIgniter针对lighttpd服务器URL重写的方法.分享给大家供大家参考.具体实现方法如下: 由于开发环境使用的是lighttpd服务器,我本机环境使用的是Apache配置,导致部署到开发机后,所有的链接地址全部跳转到首页. 分析了下,index.php/controller/function ,controller没有生效,应该是路由分发的缘故. 配置lighttpd配置的url重写规则: url.rewrite-once = ( "/(.*)\.(.*)"
-
IIS7/IIS7.5 URL 重写 HTTP 重定向到 HTTPS的方法
1.有SSL证书,或者新购.目前很多免费的SSL证书 2.IIS7 / IIS 7.5 下绑定 HTTPS 网站 3.下载安装URL重写模块:Microsoft URL Rewrite Module 32位:http://download.microsoft.com/download/4/9/C/49CD28DB-4AA6-4A51-9437-AA001221F606/rewrite_x86_zh-CN.msi 64位:http://download.microsoft.com/download
-
ThinkPHP中pathinfo的访问模式、路径访问模式及URL重写总结
本文针对ThinkPHP中pathinfo的两种模式.四种路径访问模式和URL重写相关知识进行了总结归纳,分享给大家便于查询和借鉴.具体归纳如下: 1.pathinfo 访问模块IndexAction.class.php下边的test方法 http://localhost/index.php?m=Index&a=test 等同于 http://localhost/index.php/Index/test 2.四种路径访问模式 在config目录下边来做修改 URL_MODEL的值,分别表
-
浅析ThinkPHP中的pathinfo模式和URL重写
复制代码 代码如下: http://serverName/appName/module/action/id/1/ 这个就是pathinfo模式 在不考虑路由的情况下,第一个参数会被解析成模块名称(如果启用了分组的话,则依次往后递推),第二个参数会被解析成操作,后面的参数是显式传递的,而且必须成对出现,例如: 复制代码 代码如下: http://serverName/appName/module/action/year/2008/month/09/day/21/ 通常的URL里面含有index.p
随机推荐
- 图文详解添加DNS服务器的操作步骤
- android自动工具类TextUtils使用详解
- 在linux下开启FTP服务方法介绍
- Flask的图形化管理界面搭建框架Flask-Admin的使用教程
- ASP.NET网站管理系统退出 清除浏览器缓存,Session的代码
- php基于dom实现的图书xml格式数据示例
- c++拷贝构造函数防篡改示例
- 浅谈MySQL排序原理与案例分析
- jQuery setTimeout传递字符串参数报错的解决方法
- java、python、JavaScript以及jquery循环语句的区别
- 网页挂马方式整理及详细介绍
- JavaScript与HTML结合的基本使用方法整理
- 浅析C#中的Main(String[] args)参数输入问题
- 欲练CSS ,必先解决IE的一些细节分析
- .ME域名国内预注册开始
- Java编程实现基于用户的协同过滤推荐算法代码示例
- 浅谈 Vue 项目优化的方法
- spring中FactoryBean中的getObject()方法实例解析
- layui禁用侧边导航栏点击事件的解决方法
- sql server编写archive通用模板脚本实现自动分批删除数据