【问题标题】:Yii UrlManager routingYii UrlManager 路由
【发布时间】:2015-06-23 09:20:19
【问题描述】:

我正在开发一个视频托管网站。我在 Yii 配置中的 UrlManager 遇到了一个小问题。我数据库中的 Easch 视频有一个像 't9d23f78ld' 这样的键,我希望用户转到 http://example.com/watch/t9d23f78ld 来观看视频。我已经创建了“watch”控制器,我的 urlmanager 配置如下所示:

'urlManager'=>array(
        'class'=>'application.components.UrlManager',
        'urlFormat'=>'path',
        'showScriptName' => false,
        'rules'=>array(
            '<language:(ru|uz)>/' => 'site/index',
            '<language:(ru|uz)>/<action:(contact|login|logout)>/*' => 'site/<action>',
            '<language:(ru|uz)>/<controller:\w+>/<id:\d+>'=>'<controller>/view',
            '<language:(ru|uz)>/<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
            '<language:(ru|uz)>/<controller:\w+>/<action:\w+>/*'=>'<controller>/<action>',

        ),
    ),

我的 .htaccess 看起来像这样:

    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

AddDefaultCharset utf-8

如何设置 URL 管理器以查看视频在

【问题讨论】:

    标签: yii


    【解决方案1】:

    添加规则:

    watch/<id:\w+>'=>'watch/showVideo',
    

    这意味着,来自 url 的 id 被传递给 showVideo 操作。

    您还应该在操作中添加参数:

    public function actionShowVideo($id) {
        ...
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-09
      相关资源
      最近更新 更多