一、URL规则
    1、默认是区分大小写的
    2、如果我们不想区分大小写可以改配置文件
        'URL_CASE_INSENSITIVE'=>true,//url不区分大小写    
    3、如果模块名为 UserGroupAction
        那么url找模块就必要要写成
        http://localhost/thinkphp4/index.php/user_group/index
    4、如果'URL_CASE_INSENSITIVE'=>false
        那么url也可以写为
        http://localhost/thinkphp4/index.php/UserGroup/index
二、URL伪静态
    'URL_HTML_SUFFIX'=>'html|shtml|xml',//限制伪静态的后缀
三、URL路由
    1、启动路由
        要在配置文件中开启路由支持
        'URL_ROUTER_ON'   => true, //开启路由
    2、使用路由
        1.规则表达式配置路由
            'my'=>'Index/index',//静态地址路由
            ':id/:num'=>'Index/index',//动态地址路由
            'year/:year/:month/:date'=>'Index/index',//动态和静态混合地址路由
            'year/:year\d/:month\d/:date\d'=>'Index/index',//动态和静态混合地址路由 加上 \d代表类型只能是数字
            'my/:id$'=>'Index/index',// 加上$说明地址中只能是 my/1000 后面不能有其他内容了
        2.正则表达式配置路由
            '/^year\/(\d{4})\/(\d{2})\/(\d{2})/'=>'Index/index?year=:1&month=:2&date=:3'
        3、注意事项:
            a.越复杂的路由越往前面放
                'URL_ROUTE_RULES'=>array(
                    'my/:year/:month:/:day'=>'Index/day',
                    'my/:id\d'=>'Index/index',
                    'my/:name'=>'Index/index',
                )
            b.可以使用$作为完全匹配的路由规则
                'URL_ROUTE_RULES'=>array(
                    'my/:id\d$'=>'Index/index',
                    'my/:name$'=>'Index/index',
                    'my/:year/:month:/:day$'=>'Index/day',
                ),
            c.用正则匹配的方式
                '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生成
    内置一个 U(),可以自动生成完整的URL
    U('[分组/模块/操作]?参数' [,'参数','伪静态后缀','是否跳转','显示域名'])
    例如:
    echo U('Index/index');  ==  /think/index.php/Index/index.html

ThinkPHP URL伪静态、路由规则、重写、生成的更多相关文章

  1. ThinkPHP - URL - 伪静态 - 路由 - 重写

    URL: 一.URL规则 1.默认是区分大小写,可以修改(配置文件)为不区分大小写. 2. //修改URL大小写问题 'URL_CASE_INSENSITIVE' =>true, 如果模块名为 ...

  2. thinkphp url和路由

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

  3. MVC之路由规则 (自定义,约束,debug)

    自定义路由规则的要求,小范围写在前,大范围写在后.路由规则可以注册多条,路由规则的名称不能重复路由规则有顺序,并且按照顺序进行匹配,建议小范围写在前,大范围写在后.路由规则可以设置约束 即正则表达式路 ...

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

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

  5. Thinkphp 修改U方法按路由规则生成url

    tp开户路由后,使用U方法是不会按路由规则生成url的,一般我们是要手动修改模版,把里面的U方法去掉,手动修改链接,如果是已经写好的程序,后期才添加路由,修改起链接就太麻烦了 今天无聊就修改了一下U方 ...

  6. thinkphp url生成

    为了配合所使用的URL模式,我们需要能够动态的根据当前的URL设置生成对应的URL地址,为此,ThinkPHP内置提供了U方法,用于URL的动态生成,可以确保项目在移植过程中不受环境的影响. 定义规则 ...

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

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

  8. thinkphp学习笔记10—看不懂的路由规则

    原文:thinkphp学习笔记10-看不懂的路由规则 路由这部分貌似在实际工作中没有怎么设计过,只是在用默认的设置,在手册里面看到部分,艰涩难懂. 1.路由定义 要使用路由功能需要支持PATH_INF ...

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

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

随机推荐

  1. expected: file:///

    [java] java.lang.IllegalArgumentException: Wrong FS: hdfs://192.168.190.128:9000/user/hadoop/output/ ...

  2. IE6里面display:inlineblock使得块元素成行排列,没用

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  3. Python3基础 使用list() 生成一个空列表

    镇场诗: 诚听如来语,顿舍世间名与利.愿做地藏徒,广演是经阎浮提. 愿尽吾所学,成就一良心博客.愿诸后来人,重现智慧清净体.-------------------------------------- ...

  4. c# dev控件 gridcontrol 数据跟随鼠标滚轮滚动也可以编辑

    在绑定书到gridControl后经常发现: 如果你设置了 this.gridView3.OptionsBehavior.Editable = false; 那数据可以跟随滚轮滚动,但如果你要复制某个 ...

  5. adb shell 命令详解,android

    http://www.miui.com/article-275-1.html http://noobjava.iteye.com/blog/1914348 adb shell 命令详解,android ...

  6. Android——apk反编译

    一.工具准备: 1.dex2jar:http://code.google.com/p/dex2jar/downloads/list 2.JD-GUI:windows:http://laichao.go ...

  7. CodeForces 660A Co-prime Array

    水题.放个1就可以了.暴力的找数字也是很快的. #include<cstdio> #include<cstring> #include<cmath> #includ ...

  8. C# DateTime变量不能赋null值

    使用定时器的时候: DateTime aimtime=DateTime.Now.AddSeconds(1); CheckTimer() { if(DateTime.Now.CompareTo(aimt ...

  9. Jetty实战之 嵌入式Jetty运行Servlet

    http://blog.csdn.net/kongxx/article/details/7230080 Jetty实战之 嵌入式Jetty运行Servlet 分类:JettyJava (19530)  ...

  10. (简单) POJ 2352 Stars,Treap。

    Description Astronomers often examine star maps where stars are represented by points on a plane and ...