我们的网站将按如下方式运作:
此网站正在CakePHP上构建。我想知道这是一个很好的设置。在进行一些谷歌搜索后,为控制器和模型创建一个单独的目录似乎很常见,但在这种情况下,我想真正共享所有代码,路由和视图除外。
是否可以根据域名更改路由。这对CakePHP来说是否合适?我宁愿找到最佳实践,而不是“做”工作的解决方案。
谢谢!
答案 0 :(得分:1)
答案 1 :(得分:1)
在我的脑海中,CakePHP中的路由引擎没有域的概念,所以你理论上可以做的是使用Apache重写将路由例如/ company1 / post / 1映射到company1.example.com/post/1
Prefixing in routes是可能的,因为我以前用它来制作一个多语言网站,例如/ en / blog,/ es / blog等,所以这只是在路线中加上公司名称前缀的情况。 / p>
答案 2 :(得分:1)
您要找的是themes
。
CakePHP 1.3有neat implementation,但1.2的效果差不多。
在AppController中,您需要在这些行中添加一些东西,以根据主机加载不同的主题:
$mapThemes = array('company.example.com' => 'theme-1', 'store.example.com' => 'theme-shopping');
$this->theme = $mapThemes[env('SERVER_NAME')];
当然,可能性是无穷无尽的。您可以通过让每个用户定义多个主题等来从数据库加载$mapThemes
。但这是一般的想法,我认为是Cake的做事方式。