zoukankan      html  css  js  c++  java
  • TP-四种url访问的方式

    url的4种访问方式    (这是重点!!)

    1.PATHINFO 模式 --重点 在后面使用非常多,如果想传多个参数可以使用键1/值1/键2/值2方法

    代码如下:
    http://域名/项目名/入口文件/模块名/方法名/键1/值1/键2/值2

      

    2.普通模式也称为重写模式

    代码如下:
    http://域名/项目名/入口文件?m=模块名&a=方法名&键1=值1&键2=值2

    3.REWRITE重写模式,去掉入口文件便于SEO优化

    代码如下:
    http://域名/项目名/模块名/方法名/键1/值1/键2/值2

     4.兼容模式

    代码如下:
    http://域名/项目名/入口文件?s=模块名/方法名/键1/值1/键2/值2

    如何修改PATHINFO地址中的/改成-在Home/Conf/config.php中

    代码如下:
    'URL_PATHINFO_DEPR'=>'-',//修改RUL的分隔符,把地址栏的参数部分/换成:http://域名/项目名/入口文件/模块名-方法名-键1-值1-键2-值2

      

    在index.php中开启调用模式,为了在后产模式中不让文件缓存影响开发

    代码如下:
    define('APP_DEBUG',ture);//如果设置为ture不缓存文件,false则缓存文件

    REWRITE模式开启方法

    在httpd.conf中查找rewrite_module modules/mod_rewrite.sl 把#去掉重启服务,在入口文件下新建.htaccess.php,重写文件是去掉index.php的意思:

    代码如下:
    RewriteEngine on  
    RewriteCond %{REQUEST_FILENAME} !-d  
    RewriteCond %{REQUEST_FILENAME} !-f  
    RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
     
    复制代码
    路由处理过程大概如下:
    
    1.遍历路由规则rule,与当前PATHINFO字符串进行匹配,如果合法,则从PATHINFO中取出所需要的字符串。
    
    2.路由中每条规则对应一个router,router中指定对应的模块以及方法,模块和方法可以用第1步中匹配到的字符串进行动态替代。
    
    3.将剩余的参数都解析并写入到$_GET中。
    复制代码
  • 相关阅读:
    restful
    spark深入:配置文件与日志
    Spark多种运行模式
    Spark 序列化问题
    [转]关于PreparedStatement.addBatch()方法
    scala helloworld
    java IO操作:FileInputStream,FileOutputStream,FileReader,FileWriter实例
    replace与replaceAll的区别
    String,StringBuffer与StringBuilder
    hive 空值、NULL判断
  • 原文地址:https://www.cnblogs.com/roseY/p/9231108.html
Copyright © 2011-2022 走看看