Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php yii url管理器_Php_Yii - Fatal编程技术网

Php yii url管理器

Php yii url管理器,php,yii,Php,Yii,我正在尝试匹配此URL: http://www.example.org/en/site/page/id/1 根据这些规则: 'rules'=>array( '/'=>'site/index', '<lang>/<controller:\w+>'=>'<controller>/index', '<lang>/<controller:\w+>/<action:\w+

我正在尝试匹配此URL:

http://www.example.org/en/site/page/id/1
根据这些规则:

'rules'=>array(
      '/'=>'site/index',      
      '<lang>/<controller:\w+>'=>'<controller>/index', 
      '<lang>/<controller:\w+>/<action:\w+>'=>'<controller>/<action>',      
      '<lang>/<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>/<id>',   
      '<lang>'=>'/',   
),
“规则”=>数组(
“/”=>“站点/索引”,
“/”=>“/索引”,
'//'=>'/',      
'///'=>'//',   
''=>'/',   
),

我认为它是有效的,但不起作用。

看起来语言参数routing的格式不正确。试试这个:

'rules' => array(
  '/'                                                     =>'site/index',      
  '<language:\w+>/<controller:\w+>'                       =>'<controller>/index', 
  '<language:\w+>/<controller:\w+>/<action:\w+>'          =>'<controller>/<action>',      
  '<language:\w+>/<controller:\w+>/<action:\w+>/<id:\d+>' =>'<controller>/<action>/<id>',   
  '<language:\w+>'                                        =>'/',   
),
“规则”=>数组(
“/”=>“站点/索引”,
“/”=>“/索引”,
'//'          =>'/',      
'///' =>'//',   
''                                        =>'/',   
),

看起来语言参数routing的格式不正确。试试这个:

'rules' => array(
  '/'                                                     =>'site/index',      
  '<language:\w+>/<controller:\w+>'                       =>'<controller>/index', 
  '<language:\w+>/<controller:\w+>/<action:\w+>'          =>'<controller>/<action>',      
  '<language:\w+>/<controller:\w+>/<action:\w+>/<id:\d+>' =>'<controller>/<action>/<id>',   
  '<language:\w+>'                                        =>'/',   
),
“规则”=>数组(
“/”=>“站点/索引”,
“/”=>“/索引”,
'//'          =>'/',      
'///' =>'//',   
''                                        =>'/',   
),

尝试将更具体的规则移到顶部

'rules'=>array(
      '<lang:\w+>/<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>/<id>',                  
      '<lang:\w+>/<controller:\w+>/<action:\w+>'=>'<controller>/<action>',      
      '<lang:\w+>/<controller:\w+>'=>'<controller>/index', 
      '<lang:\w+>'=>'/',   
      '/'=>'site/index',      
),
“规则”=>数组(
'///'=>'//',                  
'//'=>'/',      
“/”=>“/索引”,
''=>'/',   
“/”=>“站点/索引”,
),

[编辑]修复了Moz Morris的lang regex*积分。

尝试将更具体的规则移到顶部

'rules'=>array(
      '<lang:\w+>/<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>/<id>',                  
      '<lang:\w+>/<controller:\w+>/<action:\w+>'=>'<controller>/<action>',      
      '<lang:\w+>/<controller:\w+>'=>'<controller>/index', 
      '<lang:\w+>'=>'/',   
      '/'=>'site/index',      
),
“规则”=>数组(
'///'=>'//',                  
'//'=>'/',      
“/”=>“/索引”,
''=>'/',   
“/”=>“站点/索引”,
),
[编辑]修复了Moz Morris的lang regex*积分。

您的url包含不需要的“id”字符串/文本

尝试使用url

http://www.example.org/en/site/page/1
或者附加一个以上的路由作为

'<language:\w+>/<controller:\w+>/<action:\w+>/id/<id:\d+>' =>'<controller>/<action>/<id>',
'///id//'=>'//',
它应该双向工作。

您的url包含一个不需要的“id”字符串/文本

尝试使用url

http://www.example.org/en/site/page/1
或者附加一个以上的路由作为

'<language:\w+>/<controller:\w+>/<action:\w+>/id/<id:\d+>' =>'<controller>/<action>/<id>',
'///id//'=>'//',

它应该是双向的。

谢谢你回答中的提示
'///id/'=>'///id/'
谢谢你回答中的提示<代码>'///id/'=>'///id/'