WEB开发中,关于URL我们总喜欢以简洁、统一的方式来管理,谁愿意看到冗长而无章的URL呢。
Yii2 提供了两个配置项可以美化URL,配置一下urlManager
组件。代码如下:
启用enablePrettyUrl
参数,你可以把查询字符串格式的 URL 转换成目录格式的URL(/index.php/news/view?id=100)。
禁用showScriptName
参数将去除 URL 的 index.php 部分。
配置完成是不够的,我们需要配置WEB服务器对应用重定向。Yii2中web目录下的index.php是整个应用的入口脚本,禁用了showScriptName
参数,那么意味着URL中不带有index.php,而我们需要访问应用时没有index.php仍然处理入口脚本,就需要对应用进行重定向,如果是Apache
可以通过配置.htaccess
文件来达到目的。代码如下:
1
2
3
4
5
6
7
8
|
RewriteEngine
on
# if a directory or a file exists, use it directly
RewriteCond
%
{
REQUEST_FILENAME
}
!
-
f
RewriteCond
%
{
REQUEST_FILENAME
}
!
-
d
# otherwise forward it to index.php
RewriteRule
.
index
.php
|