Regex 科哈纳3号路线不匹配
嗨,我在匹配Kohana 3自定义路由时遇到了问题,似乎每件事都是正确的,但URL与路由不匹配。以下是我的bootstrap.php文件中的设置:Regex 科哈纳3号路线不匹配,regex,kohana,kohana-3.2,Regex,Kohana,Kohana 3.2,嗨,我在匹配Kohana 3自定义路由时遇到了问题,似乎每件事都是正确的,但URL与路由不匹配。以下是我的bootstrap.php文件中的设置: Kohana::init(array( 'base_url' => '/basepath/', 'index_file' => 'index.php' )); /** * Attach the file write to logging. Multiple writers are supported.
Kohana::init(array(
'base_url' => '/basepath/',
'index_file' => 'index.php'
));
/**
* Attach the file write to logging. Multiple writers are supported.
*/
Kohana::$log->attach(new Log_File(APPPATH.'logs'));
/**
* Attach a file reader to config. Multiple readers are supported.
*/
Kohana::$config->attach(new Config_File);
/**
* Enable modules. Modules are referenced by a relative or absolute path.
*/
Kohana::modules(array(
'auth' => MODPATH.'auth', // Basic authentication
// 'cache' => MODPATH.'cache', // Caching with multiple backends
// 'codebench' => MODPATH.'codebench', // Benchmarking tool
'database' => MODPATH.'database', // Database access
'image' => MODPATH.'image', // Image manipulation
'orm' => MODPATH.'orm', // Object Relationship Mapping
// 'unittest' => MODPATH.'unittest', // Unit testing
'userguide' => MODPATH.'userguide', // User guide and API documentation
));
/**
* Set the routes. Each route must have a minimum of a name, a URI and a set of
* defaults for the URI.
*/
Route::set('default', '(<controller>(/<action>(/<id>)))')
->defaults(array(
'controller' => 'welcome',
'action' => 'index',
));
Route::set('category_images', 'cat/<category>', array('category'=>'[a-z\-_\.]+'))
->defaults(array(
'controller' => 'categoryimages',
'action' => 'index',
));
Route::set('user_images', '<username>/images(/<pageid>)', array('username'=>'[a-z\-_\.]+', 'pageid'=>'[1-9][0-9]*'))
->defaults(array(
'controller' => 'userimages',
'action' => 'index',
));
Route::set('dynamic_image', 'image/thumbnail/<size>/<id>/<image>', array('size'=>'s|m|z', 'id'=>'[0-9]+', 'image'=>'.+'))
->defaults(array(
'controller' => 'image',
'action' => 'thumbnail'
));
Kohana::init(数组)(
'base_url'=>'/basepath/',
'index_file'=>'index.php'
));
/**
*将文件写入附加到日志记录。支持多个编写器。
*/
Kohana::$log->attach(新日志文件(APPPATH.logs');
/**
*将文件读取器附加到配置。支持多个读卡器。
*/
Kohana::$config->attach(新配置文件);
/**
*启用模块。模块由相对或绝对路径引用。
*/
模块(数组)(
'auth'=>MODPATH'auth',//基本身份验证
//'cache'=>MODPATH'cache',//使用多个后端进行缓存
//'codebench'=>MODPATH'codebench',//基准测试工具
'database'=>MODPATH'database',//数据库访问
'image'=>MODPATH'image',//图像处理
'orm'=>MODPATH'orm',//对象关系映射
//'unittest'=>MODPATH'unittest',//单元测试
'userguide'=>MODPATH'userguide',//用户指南和API文档
));
/**
*设定路线。每个路由必须至少有一个名称、一个URI和一组
*URI的默认值。
*/
路由::set('默认','(/(/))'))
->默认值(数组)(
“控制器”=>“欢迎”,
“操作”=>“索引”,
));
路由::集合('category_images','cat/',数组('category'=>'[a-z\-\.]+'))
->默认值(数组)(
“控制器”=>“类别图像”,
“操作”=>“索引”,
));
路由::集合('user_images','/images(/)',数组('username'=>'[a-z\-\u\.]+','pageid'=>'[1-9][0-9]*'))
->默认值(数组)(
“控制器”=>“用户图像”,
“操作”=>“索引”,
));
路由::set('dynamic_image','image/缩略图//',array('size'=>'s | m | z','id'=>'[0-9]+','image'=>'.+'))
->默认值(数组)(
“控制器”=>“图像”,
“操作”=>“缩略图”
));
随附错误表:
这是目标控制器,用于显示命名约定,如果其中存在问题:
<?php
class Controller_Categoryimages extends Controller_Template {
public $template = 'template';
public $images_per_page = 15;
// show images of a user
public function action_index() {
//code here
}
您的默认路线应该是最后一条,因为这是一条包罗万象的路线。我建议你完全删除它。它当前正在首先匹配默认路径,并尝试用action sky加载Contoller_Cat类。您的默认路径应该是最后一个,因为它是一个包罗万象的路径。我建议你完全删除它。它当前正在首先匹配默认值,并尝试用action sky加载Contoller_Cat类。您尝试访问的url是什么?浏览器屏幕截图中的地址难以辨认。这一个http://localhost/basepath/index.php/cat/sky
您试图访问的url是什么?浏览器屏幕截图中的地址难以辨认。这一个http://localhost/basepath/index.php/cat/sky
如果我将其删除,那么默认控制器和操作将如何工作?我应该把它放到文件的末尾吗?你应该为你的其他控制器制定更具体的路由。如果您不喜欢这个想法(最终您可能会喜欢),只需将默认路线坚持到最后。如果我将删除它,那么默认控制器和操作将如何工作?我应该把它放到文件的末尾吗?你应该为你的其他控制器制定更具体的路由。如果你不喜欢这个想法(最终你可能会喜欢),就坚持你的默认路线。