我们都知道每一次的页面访问都是一次独立的运行
要在不同访问时共享数据一般是通过session,post,get,url传参
我们知道框架的一些配置都是通过入口文件来一步步导入(像require这样)的,
那不经过入口 是如何保持这些配置的呢
这就是通过.htaccess来实现的
就比如lara
RewriteEngine On
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
如果请求的不为目录文件
RewriteCond %{REQUEST_FILENAME} !-d
# 如果请求的不为普通文件
RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L]
RewriteCond就相当于if语句
RewriteRule Pattern Substitution [Flags]
pattern 就是一个正则,sub就是重定向页面 [L]代表立刻重定向
如果不是 文件也不是目录将全部的请求重定向到index.php (.htaccess还可以设置很多,设置访问的user-agent,用此来放盗链)
这样就实现统一的入口文件
然后一次导入 用require boostarp/app.php 创建全局都要的$app
并依靠routes.php等实现restful api (REST是面向资源的,所以一个Web API旨在实现针对单一资源的操作)
(REST 表现层资源转换 URI定位资源 资源就是服务器上一个文件 表现层 文件的呈现形式 状态转换 客户与服务器端的交互如服务器发生状态转换
客户端通过四个HTTP动词,对服务器端资源进行操作,实现"表现层状态转化"
/get /put /delete /post)
附:.htaccess只要apache开启
AllowOverride All 就允许重写配置文件(apache2.conf)
.htaccess与apache2.conf配置文件不同的是,它只作用于当前目录
另外apache2.conf是在Apache服务启动的时候就加载的,而.htaccess只有在用户访问目录时加载,开销大、速度慢。
但.htaccess强大 简单,所以还是非常有价值的