URL组成
http://demo.com:80/path/index.php/user/add?p=3#link
静态访问
动态访问
访问http://site.cn/index.php
index.php 并非一个页面,而是一个程序,该程序会创建出一个页面。Web服务器无法直接执行index.php,它会把该文件交给程序CGI(通用网关程序)来执行。可以理解为php文件的解释器,php.exe。CGI执行完index.php后会创建并返回html页面。
index.php执行过程中还可能访问数据库等服务器。
http://site.cn/index.php?p=3&key=admin#link
index.php 应该由服务器路由到一个函数去处理 入口文件
伪静态
伪静态就是url重写,会截取传入的Web请求并自动将请求重定向到其他url。其目的主要是通过重写URL的方法实现去掉动态网页的参数,从而更加有利于搜索引擎的收录。
一个动态URLhttp://site.cn:80/index.php/user/add?p=3&key=admin
修改为伪静态http://site.cn:80/user/add/p/3/key/admin.html
分为三步:
1.隐藏入口http://site.cn:80/user/add?p=3&key=admin
2.参数路径化http://site.cn:80/user/add/p/3/key/admin
3.自定义扩展名,随便修改,这里使用了.htmlhttp://site.cn:80/user/add/p/3/key/admin.html
其中,/user/add/p/3/key/admin
bei被称为PATH INFO
接收到该请求时,会对PATH INFO进行解析,PHP会将字符串转为数组,进行分解:
user 控制器 controller
add 方法 action
p、key 参数