伪静态配置
> 它的弊端,该框架目前必须开启伪静态才可以使用。
#### Apache
```apache
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]
</IfModule>
```
> 在根目录新建.htaccess文件,将上方伪静态规则放入即可。
```apache
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^admin/?(.*)$ admin.php?/$1 [QSA,PT,L]
```
最终我们得到的Apache 伪静态规则为:
```apache
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^admin/?(.*)$ admin.php?/$1 [QSA,PT,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]
</IfModule>
```
检查以下语句前面有没有#号,有的话去掉#。如果无法找到该行配置,则在`httpd.conf`文件最后增加。
`LoadModule rewrite_module modules/mod_rewrite.so`
#### Nginx
Nginx需要配置当前站点的配置文件,如下:
> 如果是宝塔只需要将下方伪静态规则放入伪静态即可。
```nginx
location / {
if (!-e $request_filename){
rewrite ^(.*)$ /index.php/$1 last;
break;
}
}
```
> 一般当前站点的配置文件会存储在/etc/nginx/sites-available/目录下面,以站点域名为名称的conf文件。
但如果你希望增加一个入口文件,并且配置伪静态的话,那么可以在 默认的`rewrite` 上面增加一条语句
```nginx
rewrite /admin/(.*)$ /admin.php/$1 last;
```
最终的伪静态为:
```nginx
location / {
if (!-e $request_filename){
rewrite /admin/(.*)$ /admin.php/$1 last;
rewrite ^(.*)$ /index.php/$1 last;
break;
}
}
```
此时,我们的路由支持
直接访问。admin.php/index/index 访问,并且还支持 /admin/ 的访问。多种访问方式均支持。