我希望我的Cake应用中的某些网址成为子网域。
例如,make:domain.com/posts/index.json
变为api.domain.com/posts
我试过了:
$subdomain = substr(env("HTTP_HOST"), 0, strpos(env("HTTP_HOST"), "."));
if ($subdomain == 'api') {
Router::connect('/', array('controller' => 'posts', 'action' => 'index'));
}
但它只会显示404.注意我已关闭通配符子域,以便随机子域仍然不会加载主站点(是否可以允许某些子站点?例如,允许api.domain.com但在fake.domain.com上出错了)
另外,如何将JSON扩展作为路由器阵列的一部分来处理?
答案 0 :(得分:0)
2.x之后的Cake没有任何支持子域的东西。已经就此进行了讨论/工作,但不确定何时可以使用。
直到你需要忍受正常的网址或大量的黑客攻击。
答案 1 :(得分:0)
您可以在routes.php中使用以下代码 还要确保您已经可以访问子域。
$subdomain = substr( env("HTTP_HOST"), 0, strpos(env("HTTP_HOST"), ".") );
if( strlen($subdomain) > 0 && $subdomain == "api" ) {
Router::connect('/:action/*', array('controller' => 'posts'));
}