我正在开发一个视频托管网站。我在Yii config中遇到了一个小问题。我的数据库中的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管理器以查看视频
答案 0 :(得分:0)
添加规则:
watch/<id:\w+>'=>'watch/showVideo',
表示来自网址的id
传递给showVideo
操作。
您还应该添加参数:
public function actionShowVideo($id) {
...
}