您的位置:首页 > 编程语言 > PHP开发

TP-四种url访问的方式

2018-06-26 20:34 417 查看

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中。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: