我想使用这个 url 在 Yii 中访问一个 url www.example.com/detail/post
。
我应该能够处理此 url 以detail
使用具有 value 的参数的post
操作或具有命名参数detail
和 value的某些操作post
。
我阅读了有关 Yii 的文档,createUrl
但无法理解。
我想使用这个 url 在 Yii 中访问一个 url www.example.com/detail/post
。
我应该能够处理此 url 以detail
使用具有 value 的参数的post
操作或具有命名参数detail
和 value的某些操作post
。
我阅读了有关 Yii 的文档,createUrl
但无法理解。
我认为这就是您要寻找的:
将 main.php 更新为以下内容(将控制器/详细信息部分中的控制器更改为您的控制器名称)
'urlManager' => array(
'urlFormat' => 'path',
'showScriptName' => false,
'rules' => array(
'detail/<post:\d+>'=>'controller/detail',
'<controller:\w+>/<id:\d+>' => '<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
'<controller:\w+>/<action:\w+>' => '<controller>/<action>',
),
),
所以基本上你是在告诉 Yii,任何格式为 detail/number 的请求都将发送到你的控制器并使用动作“detail”,然后传递一个名为“post”的变量。
如果您启用了 mod rewrite 并希望将以下内容放在您的 htaccess 文件中
php_value upload_max_filesize 1M
DirectoryIndex index.php
Options +FollowSymlinks
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
并将以下内容添加到 config/main.php 文件中的 'urlManager' 数组中:
'showScriptName'=>false,
将从您的 url 中删除 index.php 并确保仅以 domain.com/controller/action 的形式显示 url