在配置 defaultAction 之前,首先要了解 Yii2 框架中的 enablePrettyUrl 属性。该属性能将传统的带参数 URL(如 ?id=xx&name=yy)转换为简洁且易读的 URL 格式,比如把 index.php?r=site%2Fabout&id=1 改写成 site/about/1。这种 URL 优化不仅提升用户体验,也对搜索引擎优化(SEO)非常有帮助。
在 Yii2 配置文件中,通常使用如下代码启用该功能:
'urlManager' => [
'class' => 'yii\web\UrlManager',
'enablePrettyUrl' => true,
'showScriptName' => false,
],
这里,'enablePrettyUrl' => true 表示启用美化 URL,'showScriptName' => false 表示隐藏 index.php 文件名。
Yii2 通过 defaultRoute 属性控制默认视图,设置后访问网站根目录时会直接显示指定页面。例如,以下配置将默认视图设置为 site/index:
return [
// ...
'defaultRoute' => 'site/index',
// ...
];
如果想指定访问控制器时的默认动作,可以使用 defaultAction 属性。示例配置如下:
'urlManager' => [
'class' => 'yii\web\UrlManager',
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
'' => 'site/index',
],
'defaultAction' => 'site/index',
],
这里,空字符串 '' 代表网站根目录,将其映射到 site/index 页面。
'rules' 用于定义自定义的 URL 路由规则,可以根据需求添加更多映射。例如:
'rules' => [
'' => 'site/index',
'login' => 'site/login',
'admin' => 'admin/default/index',
],
完成配置修改后,建议重启 Apache 或 Nginx 服务器,以确保 Yii2 框架的新设置生效。默认页面和路由的合理设置不仅能提升访问速度,还能显著优化 SEO。
合理配置 enablePrettyUrl 和 defaultAction 是 Yii2 开发中优化用户访问体验和搜索引擎排名的重要步骤。通过本文介绍的示例,您可以轻松调整默认页面和路由规则,打造结构清晰且高效的应用。