我想制作这样的网址:http://somecontroller.example.com
其中somecontroller
将是任何控制器......我正在使用Kohana3.1。
我知道路由以及制作许多路线,但我没有这样的路线......
我在bootstrap中有这些默认路由:
Route::set('default', '(<controller>(/<action>(/page<page>)(/<id>)))')
->defaults(array(
'directory' => 'index',
'controller' => 'main',
'action' => 'index',
));
答案 0 :(得分:0)
Kohana的路由系统只允许您解析URI,因此您无法以干净的方式执行此操作。但是,你可以做这样的事情来实现你想要的行为:
$controller = preg_match('/^([\w]+)\.example\.com$/', $_SERVER['HTTP_HOST'], $match)
? $match[1]
: 'main';
Route::set('default', '(<action>(/page<page>)(/<id>))')
->defaults(array(
'directory' => 'index',
'controller' => $controller,
'action' => 'index',
));
但是,此路由在控制台(php index.php --uri=<uri>
)中无效,因为未定义HTTP_HOST
。