【发布时间】:2011-09-11 16:08:05
【问题描述】:
我有子域 www.panel.example.com 和域 www.example.com。
我的 bootstrap.php:
<?php
Kohana::init(array(
'base_url' => '/',
'index_file' => FALSE,
));
Route::set('panel', '(<controller>(/<action>(/<id>)))', array('subdomain' => 'panel'))
->defaults(array(
'directory' => 'panel',
'controller' => 'panel',
'action' => 'index',
'subdomain' => 'panel',
));
Route::set('default', '(<controller>(/<action>(/<id>)))')
->defaults(array(
'controller' => 'home',
'action' => 'index',
));
?>
当我在浏览器上写地址时:www.panel.example.com 我有一个错误:
HTTP_Exception_404 [ 404 ]: The requested URL / was not found on this server.
我的结构:
application/classes/controller(域的控制器)
application/classes/controller/panel(子域的控制器)
如何正确操作?
【问题讨论】:
-
您是否在使用任何托管软件,例如 Cpanel 或 Plesk?顺便说一句,
www.panel.example.com不应该是panel.example.com吗? -
我使用托管软件 DirectAdmin 并创建了子域 panel.example.com
-
Kohana没有subdomains的内置方法,但您可以读取bootstrap.php上的uri 并捕获subdomain名称并重新路由uri。 -
这是一个关于我如何使用
v3.1.x的示例:pastebin.com/3Q4YbLWq(代码有点混乱,但想法就在那里,并且奏效了)。请注意,该过程可能会根据您的托管软件创建子域的方式而改变(例如,cPanel在public_html中将子域创建为文件夹,而Plesk在subdomains\name外部httpdocs中创建它们)
标签: php routing kohana subdomain