路由
<br/>
>i 本文档的最新修订日期是:
> **2023-02-26**
# 入口文件
<font color="#c7254e">`/index.php`</font>
# 伪静态规则
<font color="#c7254e">`/lib/rewrite`</font> 下包含了伪静态规则,可根据需要自行调整。
* IIS环境下,请将 <font color="#c7254e">`web.config`</font> 文件放置于网站根目录,在安装好URL重写模块之后即可使用。
* Apache环境下,请将 <font color="#c7254e">`.htaccess`</font> 文件放置于网站根目录,在Apache的配置文件中开启URL重写选项之后即可使用。
* Nginx环境下,请将 <font color="#c7254e">`84php.conf`</font> 文件引入到Nginx的配置文件 <font color="#c7254e">`nginx.conf`</font> 中,也可以将84php.conf中的代码插入到nginx.conf中的合适位置。
* 如果有额外需求,可根据需要自行调整伪静态规则。
规则仅允许访问 <font color="#c7254e">`/web`</font> 下非PHP类型的文件,并将流量牵引至 <font color="#c7254e">`/index.php`</font> 。
>w 如使用Nginx+宝塔等第三方面板环境,可能会出现css或js文件无法访问的问题,可在服务器中将 <font color="#c7254e">`nginx.conf`</font> 文件中的如下部分添加注释或将其删除:
```
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
error_log /dev/null;
access_log /dev/null;
}
location ~ .*\.(js|css)?$
{
expires 12h;
error_log /dev/null;
access_log /dev/null;
}
```
# 路由
* 访问请求时,服务器将首先在 <font color="#c7254e">`/web`</font> 目录下寻找对应的文件,如果有则停止后续操作。假设有文件 <font color="#c7254e">`/web/css/style.css`</font> ,则直接访问 <font color="#c7254e">`域名/css/style.css`</font> 即可。
以上步骤由服务器的伪静态规则完成,如果未能找到文件,将由框架执行接下来的步骤:
* 框架将会首先尝试在缓存目录中下以 <font color="#c7254e">`访问路径.php`</font> 查找文件。
例如访问 <font color="#c7254e">`abc.com/1/2`</font> 时,框架会寻找代码模板文件 <font color="#c7254e">`/source/1/2.php`</font> 所对应的缓存。
* 若未找到对应文件,会依次寻找 <font color="#c7254e">`/web`</font> 内对应路径下的 <font color="#c7254e">`index.html`</font> 、<font color="#c7254e">`index.htm`</font> 直到找到为止。
例如访问 <font color="#c7254e">`abc.com/3/4`</font> 时,若 <font color="#c7254e">`/source/3/4.php`</font> 不存在,则框架会寻找文件 <font color="#c7254e">`/web/3/4/index.html`</font> 及 <font color="#c7254e">`/web/3/4/index.htm`</font> 。
当找不到任何文件时,将触发报错。