使用CamelCase动作名称时,使用php – 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
    }
}

可以使用路径example.com/test/myaction访问第一条路线

每个Yii 1.x逻辑的第二条路线应该可以从路径example.com/test/myAction访问
在Yii2.x路由中使用连字符结构,只能从example.com/test/my-action访问

有没有办法在Yii2中启用使用camelCase结构的路由,最好不用路由类扩展?

这是重要的,因为它打破了所有的链接(当然是在互联网上)向后兼容性,因此Yii1.x应用程序永远不能迁移到Yii2.x,即使代码被完全重写.这个变化的原因是什么?

我也曾经提过这个改变,但是最终我发现它使URL更容易阅读.我不确定在Yii1中有一个区分大小写的路线,在Yii2中,我没有这个问题(或是一个问题的印象)了.

我不知道确切的原因,但我可以告诉你,对于SEO,最好是 – 分开单词而不是一个大字.

当我在yii2中重写了一个应用程序时,我把url的所有老路线放在我需要维护的路由器中.

'urlManager' => [
            'class' => 'yii\web\UrlManager','enablePrettyUrl' => true,'showScriptName' => false,'rules' => [
.................................................
                'site/registerInterest' => 'site/register-interest',.................................................

            ],],

所以我的旧链接现在工作很好.如果你想从旧的路线到新的路线,以保持SEO果汁,你也可以在.htaccess中设置301重定向.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...