我正在尝试为现有数据库设置yii前端。根据历史记录,它有几个带有负ID的表 - 从1开始有一组很好的连续ID,但是有一个大的正负ID ID。不,我不知道为什么。
当使用yii从列表中检索其中一个记录(所有香草yii)时,URL就像http://myyiipath/index.php/houses/-75313
。然后返回一个错误页面,说“无法找到所请求的操作”。它有效,在给出有效的正ID时检索记录的详细信息。
我理解yii在选择动作时使用-
作为分隔符,所以我猜测负值被解释为空白:id。
因此,当没有指定控制器时,我可以修改yii以使用默认操作(带有签名值),还是可以将默认操作指向某个处理程序,或者这都是一场噩梦?
答案 0 :(得分:1)
你必须改变
<id:\d+>
到
<id:\-?\d+>
示例:
'<controller:\w+>/<action:\w+>/<id:\-?\d+>' => '<controller>/<action>',
'<controller:\w+>/<action:\w+>' => '<controller>/<action>',
'<controller:\w+>/' => '<controller>/index',