yii2 - Yii2 高级 - 在模块中启用漂亮的 URL
问题描述
我正在学习模块在 Yii2 中的工作原理,现在我创建了以下模块:gdpr
. 我可以访问以下路线:/index.php?r=gdpr/user/index
. 但是,我想访问这样的路线:/gdpr/user/index
. 我怎样才能做到这一点?
配置.php:
<?php
return [
'components' => [
'urlManager' => [
'class' => 'yii\web\UrlManager',
'enablePrettyUrl' => true,
'enableStrictParsing' => true,
'showScriptName' => false,
'rules' => [
['class' => 'yii\rest\UrlRule', 'controller' => 'modules\gdpr\default'],
['class' => 'yii\rest\UrlRule', 'controller' => 'modules\gdpr\user'],
],
],
],
'params' => [
// list of parameters
],
];
解决方案
您需要以这种方式配置控制器:
'components' => [
'urlManager' => [
'class' => 'yii\web\UrlManager',
'enablePrettyUrl' => true,
'enableStrictParsing' => true,
'showScriptName' => false,
'rules' => [
[
'class' => 'yii\rest\UrlRule',
'controller' => ['gdpr/default', 'gdpr/user'],
],
],
],
],
见https://www.yiiframework.com/doc/api/2.0/yii-rest-urlrule#$controller-detail
推荐阅读
- go - Go Ticker:获取状态?
- mysql - 前一个月表中的 SQL 计数
- jquery - 在asp.net mvc中将多个图像+多个数组对象发送到控制器
- json - 如何使用 React 将 JSON 数据中的图像渲染到表格行中?
- .net - 真的需要'async/await all the way up'吗
- e2e-testing - 使用 CodeceptJs + Puppeteer 测试元数据
- flutter - Flutter,Admob,突然广告没有显示
- php - php: og: facebook 的 meta 无法读取变量
- php - php 使用作曲家包 VMWarephp
- java - Java SE CDI Maven 依赖项?