URL:
一、URL规则
1、默认是区分大小写,可以修改(配置文件)为不区分大小写。
2、 //修改URL大小写问题
'URL_CASE_INSENSITIVE' =>true,
如果模块名为 UserGroupAction,因为过于复杂。
那么url着模块就必须要写成:
http://localhos/thinkphp/index.php/user_group/index (user与group之间有下划线)
3、如果 'URL_CASE_INSENSITIVE' =>false,
那么url的模块可以直接写成:
http://localhos/thinkphp/index.php/UserGroup/index
二、URL伪静态
1、默认的ThinkPHP已经为我们开启了伪静态,
可以直接在地址栏输入:http://localhos/thinkphp/index.php/UserGroup/index.html
2、可以限制伪静态的后缀:
'URL_HTML_SUFFIX'=>'html|shtml|xml' // 多个用 | 分割
三、URL路由
1、要使用路由规则,那么URL模式要为 PATH_INFO模式
2、在配置文件中,开启路由支持,并书写路由规范。
- 规则表达式配置路由
'URL_ROUTER_ON'=>true,
'URL_ROUTE_RULES'=>array(
//静态地址路由,没有动态的变量。
//可以这样访问【 URL:http://localhost/thinkphp2/index.php/my 】
'my'=>'Index/index', //动态地址路由
//加上 \d代表类型只能是数字
'year/:year\d/:month\d/:date\d'=>'Index/index',//动态和静态混合地址路由
// 加上$说明地址中只能是 my/1000后面不能有其他内容了
'my/:id$'=>'Index/index', //动态静态混合地址路由,有动态的变量,也有静态值,动态变量 [ :num ],可以以GET传参的方式,交给Index/index,模块中的方法。
//可以这样访问【 URL:http://localhost/thinkphp2/index.php/id/23 】
// 后台 $_GET['num'],即可获得id的值。(id是名称,num是id的值)
'id/:num'=>'Index/index',
), - 正则表达式配置路由
'/^year\/(\d{4})\/(\d{2})\/(\d{2})/'=>'Index/index?year=:1&month=:2&date=:3' - 注意事项:
1.越复杂的路由越往前面放
'URL_ROUTE_RULES'=>array(
'my/:year/:month/:day'=>'Index/day',
'my/:id\d'=>'Index/index',
'my/:name'=>'Index/index',
)
2.可以使用$作为完全匹配的路由规则
'URL_ROUTE_RULES'=>array(
'my/:id\d$'=>'Index/index',
'my/:name$'=>'Index/index',
'my/:year/:month:/:day$'=>'Index/day',
),
3.用正则匹配的方式
'URL_ROUTE_RULES'=>array(
'/^my\/(\d+)$/'=>'Index/index?id=:1',
'/^my\/(\w+)$/'=>'Index/index?name=:1',
'/^my\/(\d{4})\/(\d{2})\/(\d{2})$/'=>'Index/day?year=:1&month=:2&day=:3',
), 四、URL重写
通常的URL里面含有index.php,为了达到更好的SEO效果可能需要去掉URL里面的index.php ,
通过URL重写的方式可以达到这种效果,通常需要服务器开启URL_REWRITE模块才能支持。 下面是Apache的配置过程,可以参考下:
1、httpd.conf配置文件中加载了mod_rewrite.so模块
2、AllowOverride None 将None改为 All
3、确保URL_MODEL设置为2
4、把下面的内容保存为.htaccess文件放到入口文件的同级目录下
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule> 重启Apache之后,原来的
http://serverName/index.php/Blog/read/id/1
就可以通过访问
http://serverName/Blog/read/id/1
简化了URL地址。 五、URL生成   参考手册

URL路由:

  • www.***.com/c_23.html,进入列表页
  • www.***.com/34.html,进入内容页
    //URL路由
'URL_ROUTER_ON' => true,
'URL_ROUTE_RULES' => array(
'/^c_(\d+)$/' => 'Home/List/index?id=:1',//前面要加上Home项目名
'/^(\d+)$/' => 'Home/Show/index?id=:1',
),

ThinkPHP - URL - 伪静态 - 路由 - 重写的更多相关文章

  1. ThinkPHP URL伪静态、路由规则、重写、生成

    一.URL规则    1.默认是区分大小写的     2.如果我们不想区分大小写可以改配置文件        'URL_CASE_INSENSITIVE'=>true,//url不区分大小写   ...

  2. thinkphp url和路由

    一.入口模块修改 修改public下的index 加入 define('BIND_MODULE','admin'); 即可将入门模块绑定到admin模块 <?php // [ 应用入口文件 ] ...

  3. windows2008(64位)下iis7.5中的url伪静态化重写(urlrewrite)

    以前在windows2003里,使用的是iis6.0,那时常使用的URL重写组件是iisrewrite,当服务器升级到windows2008R2时,IIS成了64位的7.5,结果iisreite组件是 ...

  4. thinkphp URL规则、URL伪静态、URL路由、URL重写、URL生成(十五)

    原文:thinkphp URL规则.URL伪静态.URL路由.URL重写.URL生成(十五) 本章节:详细介绍thinkphp URL规则.URL伪静态.URL路由.URL重写.URL生成 一.URL ...

  5. SEO之基于thinkphp的URL伪静态

    最近基于thinkphp开发了个导购网站,现在有时间,将遇到的伪静态问题整理下,与大家分享.1.设置URL伪静态在config.ini.php中设置,如果只想前台URL伪静态,那么只在前台的confi ...

  6. ASP.NET URL伪静态重写实现方法

    ASP.NET URL伪静态重写实现方法 首先说下,ASP.NET URL伪静态只是将~/a_1.html指向到了~/a.aspx?ID=1,但a.aspx还是真实存在的,你不用./a_1.html来 ...

  7. ThinkPHP下隐藏index.php以及URL伪静态

    第一种方法: 设置url的重写模式(默认模式是1) 'URL_MODEL' => 2, // URL访问模式,可选参数0.1.2.3,代表以下四种模式: 第二种方法:  使用Apache来进行设 ...

  8. ThinkPHP U函数生成URL伪静态

    ThinkPHP支持伪静态URL设置,可以通过设置URL_HTML_SUFFIX参数随意在URL的最后增加你想要的静态后缀,而不会影响当前操作的正常执行.例如,我们设置 'URL_HTML_SUFFI ...

  9. ThinkPHP URL 路由简介

    简单的说,URL 路由就是允许你在一定规则下定制你需要的 URL 样子,以达到美化 URL ,提高用户体验,也有益于搜索引擎收录的目的. 例子 原本的 URL 为: http://www.5idev. ...

随机推荐

  1. preg_replace的用法

    <?php $str1 = "03/28/2015"; // 要替换成 2015-03-28 echo preg_replace("/([0-1][1-9])\/( ...

  2. Yii2.0中文开发向导——删除数据

    直接 model 删除 $model = User::find($id); $model->delete(); 带有条件的删除 $connection ->createCommand() ...

  3. FASTCGI程序,做个备份,以后用

    11FastCGI 用来作为 Web 服务器的设计方案,有着很多优点.要搭建这样一个服务,有一个最简单的办法来搭建,可以使用 Apache 以及 mod_fcgid 模块来实现. 鉴于网上有关 Fas ...

  4. 制作一个vagrant的win7 box

    准备: 1.win7镜像文件 2.vagrant安装文件 3.virtual box安装文件 步骤: 1.先在本机上安装virtualbox和vagrant,本机为win7,安装虚机也为win7 2. ...

  5. Vistual Studio 2010 调试无法进断点

    系统是2003出现的问题 win8就没事 打sp1 补丁就行

  6. ftp一些东东

    ftp如果绑定域名 登录时登录名应该写成 域名|用户名

  7. 对程序员的不尊重是中国it产业的悲哀。

    电脑刚进入中国时,“程序员”三个字是一份令人尊敬的岗位,那个时候中国互联网人才奇缺.程序员的价格也就水涨船高.小的时候电视里到处播放着电脑培训学院的招生广告.一说到程序员,给我们的印象都是白领,高薪的 ...

  8. 模拟美萍加密狗--Rockey2虚拟狗(二)

    按好了WDK,看了一天的DSF例子GenericHID,直接头大了,就能改个VID,PID让美萍识别成R2的狗.其他的什么各种描述符,根本无从下手,怪不得网上没有驱动模拟的加密狗,确实太复杂了,特别像 ...

  9. Spring Boot Memory Performance

    The Performance Zone is brought to you in partnership with New Relic. Quickly learn how to use Docke ...

  10. Android JNI入门第三篇——jni头文件分析

    一. 首先写了java文件: public class HeaderFile { private native void  doVoid(); native int doShort(); native ...