V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
DDMCloud
V2EX  ›  PHP

请教一个关于 Yii2 框架的问题。。

  •  
  •   DDMCloud · 2016-10-30 21:45:36 +08:00 · 2568 次点击
    这是一个创建于 2953 天前的主题,其中的信息可能已经有所发展或是发生改变。

    ThinkPHP 中支持 http://serverName/index.php (或者其他应用入口文件)/模块 /控制器 /操作 /[参数名 /参数值...] 这样的 URL 格式

    而 Yii2 开启 urlManager 后仅支持 http://serverName/index.php (或者其他应用入口文件)/模块 /控制器[?参数名=参数值...]

    能否让 Yii2 像 TP 那样支持 http://serverName/index.php (或者其他应用入口文件)/模块 /控制器 /操作 /[参数名 /参数值...] 呢?

    7 条回复    2016-11-10 23:43:01 +08:00
    isb
        1
    isb  
       2016-10-30 23:03:03 +08:00
    nginx apache ?
    rewrite 一下
    wuhang89
        2
    wuhang89  
       2016-10-31 01:51:17 +08:00
    urlManager 启用自定义规则 url 美化就可以了,虽然比 thinkphp 麻烦了点,但是具备高度自定义性。
    CTO
        3
    CTO  
       2016-10-31 09:58:00 +08:00
    二楼正解
    'urlManager' => array(
    'class' => 'jii.web.RUrlManager',
    'urlSuffix' => '',
    'urlFormat'=>'path',
    'useStrictParsing'=>true,
    'appendParams'=>true,
    'userPatterns'=>array(
    $pattern1,
    $pattern2,
    ),
    'rules' => require 'redirect.php',
    'urlRedirect' => require 'urlRedirect.php',
    ),
    ),
    不仅可以配置路由,还可以配置重定向,甚至连 urlmanager 都可以定制,redirect 中如下:
    return array(
    //首页
    '/'=>'entry/index',
    );
    此时 www.domain.xxxx 就可以访问了 后面啥也没有 美得不要不要的 ~0v0~
    tangzhangming
        4
    tangzhangming  
       2016-10-31 10:23:42 +08:00
    我一般都重写 thinkphp 的 url 生成函数。。。。 key/value/key/value 这样的 url 太丑太长
    DDMCloud
        5
    DDMCloud  
    OP
       2016-11-04 19:12:15 +08:00
    @wuhang89 自定义规则貌似只能对某一个 action 有效吧?我希望是所有控制器的所有 action 都生效。。。有些场景需要用到
    wuhang89
        6
    wuhang89  
       2016-11-05 10:11:06 +08:00
    [
    'route' => '<controller>/<action>',
    'pattern' => '<controller:\w+>/<action:\w+',
    'class' => 'common\components\fuckUrlRuleTest'
    ],
    @DDMCloud 使用通配,然后自己按照你的需求自定义一个 urlRule 类就行了,所有的路由都可以匹配的上。
    ywisax
        7
    ywisax  
       2016-11-10 23:43:01 +08:00
    这种问题不应该问,看文档中的 urlManager 组件部分即可。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2932 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 12:42 · PVG 20:42 · LAX 04:42 · JFK 07:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.