ThinkPHP中pathinfo模式与URL重写】的更多相关文章

Thinkphp中的pathinfo模式 http://serverName/appName/module/action/id/1/ pathinfo模式 在不考虑路由的情况下,第一个参数会被解析成模块名称(如果启用了分组的话,则依次往后递推),第二个参数会被解析成操作,后面的参数是显式传递的,而且必须成对出现,例如: http://serverName/appName/module/action/year/2008/month/09/day/21/ 通常的URL里面含有index.php,为了…
语文一直不太好,要我怎么解释这个pathinfo模式还真不知道怎么说,那就先来一段代码说下pathinfo模式吧 http://serverName/appName/module/action/id/1/ 这个就是pathinfo模式 在不考虑路由的情况下,第一个参数会被解析成模块名称(如果启用了分组的话,则依次往后递推),第二个参数会被解析成操作,后面的参数是显式传递的,而且必须成对出现,例如: http://serverName/appName/module/action/year/2008…
几乎所有的框架(ThinkPHP,Zend Framework,CI,Yii,laravel等)都会使用URL重写或者pathinfo模式,使URL看起来更美观,比如可以隐藏掉入口文件,并且有利于搜索引擎优化,其实让Nginx支持pathinfo或者重写也不难,首先在php.ini中设置cgi.fix_pathinfo=1 再就是添加配置文件(新版nginx) 内容如下: #pathinfo 支持开始 以上配置信息根据实际情况配置 fastcgi_split_path_info ^((?U).+…
ThinkPHP 3.1.2官方手册 第16.2章节 <隐藏index.php>中提到在Ngnix中隐藏index.php实现SEO友好的方法,其中使用了如下的代码 location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=$1 last; break; } } 这种方法性能非常差,因为会对图片文件也进行文件存在判断,增加了磁盘IO开销 ,在<Nginx HTTP Server>一书中提到了种优化方法…
现在用的版本是TP3.1.3,这两天总是遇到NotFound的错误,解析路径错误,所以认真研究了一下手册,发现问题出在URL模式上面. URL模式 一般是使用U方法来生成路径,U方法的定义规则如下(方括号内参数根据实际应用决定): U('[分组/模块/操作]?参数' [,'参数','伪静态后缀','是否跳转','显示域名']) 如果不定义项目和模块的话 就表示当前项目和模块名称,下面是一些简单的例子: U('User/add') // 生成User模块的add操作的URL地址 U('Blog/r…
 ThinkPHP中U方法的用处主要是完成对url地址的组装,在模板中使用U方法而不是固定写死URL地址的好处在于,一旦你的环境变化或者参数设置改变,你不需要更改模板中的任何代码.在模板中的调用格式需要采用 {:U('地址', '参数'…)} 的方式,一般的形式里面是控制器中的方法名,例如{:U('loginPage')}.完整格式为: U('地址','参数','伪静态','是否跳转','显示域名').U方法的第二个参数支持传入参数,支持数组和字符串两种定义方式,如果只是字符串方式的参数可以在第…
一.什么是MVC                 //了解    M -Model 编写model类 对数据进行操作    V -View  编写html文件,页面呈现    C -Controller 编写类文件(UserAction.class.php)二.ThinkPHP的MVC特点         //了解三.ThinkPHP的MVC对应的目录   //了解    M 项目目录/应用目录/Lib/Model    V 项目目录/应用目录/Tpl    C 项目目录/应用目录/Lib/Ac…
最近一个项目中使用了ThinkPHP做为开发框架,URL上我们使用了PATHINFO模式,但是Nginx默认是不支持PATHINFO的,需要进行手动配置才可以,于是我们按照了以下方法进行了Nginx的PATHINFO支持配置: 修改nginx.conf,找到server中的 location ~ .php${},修改为location ~ .php {},并在其中增加以下内容: set $path_info ""; set $real_script_name $fastcgi_scri…
注意使用LNMP 1.4版 1.修改php.ini 启用pathinfo /usr/local/php/etc/php.ini cgi.fix_pathinfo = 0 值改为1 2.修改/usr/local/nginx/conf/vhost/你的网站.conf 配置文件 include enable-php.conf;  替换为 include enable-php-pathinfo.conf; 注意包含thinkphp.conf的路由配置文件 配置文件如下所示: server    {   …
#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…