Man*_*uer 13 php url-routing yii yii2
如果你说了以下控制器结构
<?php
namespace app\controllers;
use Yii;
use yii\web\Controller;
/**
* Test controller
*/
class TestController extends Controller
{
public function actionMyaction(){
...
//action logic
}
public function actionMyAction(){
...
//action logic
}
}
Run Code Online (Sandbox Code Playgroud)
可以使用路径访问第一个路径 example.com/test/myaction
每个Yii 1.x逻辑的第二个路由应该可以从example.com/test/myAction
Yii2.x中的路径访问,路由使用带连字符的结构,并且只能从example.com/test/my-action
无论如何在Yii2中使用camelCase结构启用路由,最好不要使用路由类扩展?
这很重要,因为它打破了所有链接(当然是互联网上的所有链接)向后兼容性,因此即使代码被完全重写,Yii1.x应用也永远无法迁移到Yii2.x. 这种变化的原因是什么?
Mih*_* P. 13
我对这个变化也有点担心,但最终我发现它使URL更容易阅读.我不确定在Yii1中有一个区分大小写的路线,在Yii2中我不再有这个问题(或问题的印象).
我不确定确切的原因,但我可以告诉你,对于搜索引擎优化最好是 - 分隔单词而不是一个大字.
当我在yii2中重写了一个应用程序时,我在url manager中输入了我需要维护的所有旧路由.
'urlManager' => [
'class' => 'yii\web\UrlManager',
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
.................................................
'site/registerInterest' => 'site/register-interest',
.................................................
],
],
Run Code Online (Sandbox Code Playgroud)
所以我的旧链接现在工作得很好.你也可以在.htaccess中放置一个301重定向,如果你想从旧路由到新路由以保持SEO汁液.
| 归档时间: |
|
| 查看次数: |
14058 次 |
| 最近记录: |