zoukankan      html  css  js  c++  java
  • ThinkPHP

    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/:yeard/:monthd/:dated'=>'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/:idd'=>'Index/index',
                        'my/:name'=>'Index/index',
                        )
                    2.可以使用$作为完全匹配的路由规则
                            'URL_ROUTE_RULES'=>array(
                                'my/:idd$'=>'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',
        ),
  • 相关阅读:
    November 13th 2016 Week 47th Sunday The 1st Day
    November 12th 2016 Week 46th Saturday
    November 11th 2016 Week 46th Friday
    November 10th 2016 Week 46th Thursday
    November 9th 2016 Week 46th Wednesday
    November 8th 2016 Week 46th Tuesday
    windows 7文件共享方法
    Win7无线网络共享设置方法
    常量指针和指针常量
    如何查找局域网的外网ip
  • 原文地址:https://www.cnblogs.com/KTblog/p/5181905.html
Copyright © 2011-2022 走看看