gpt4 book ai didi

php - 如何让cakephp在不同的子域上传递内容?

转载 作者:可可西里 更新时间:2023-11-01 00:52:50 25 4
gpt4 key购买 nike

我正在构建一个包含不同城市内容的门户..

当有人访问该网站时,我希望他们选择城市然后继续

http://city1.site.com

http://city2.site.com

可以使用单个数据库和安装 cakephp 来完成吗?

最佳答案

是的,这是可能的。

基本上在您的 DNS 中,您必须允许 *.site.com 托管在一台机器上。这样,无论您输入什么子域,机器都是一样的。

DNS 记录示例:

*   A   10.0.0.1

然后在虚拟主机声明中你必须放置

<VirtualHost *>
DocumentRoot /var/www/path_to_site
ServerName site.com
ServerAlias www.site.com *.site.com
</VirtualHost>

这样无论您输入什么,即 something.site.com 或 city.site.com 都会被重定向到一个应用。

然后您只需从 php 解析主机(最好在 AppController 中)并将子域转换为过滤器。

这有点抽象,但我就是这样做的。

编辑(回复评论):这是一个如何构建系统的问题。基本上如果你有:

cite1.site.com

在你的 AppController 中你可以有类似的东西:

class AppController extends Controller {
function beforeFilter(){
$host = explode('.', $_SERVER["HTTP_HOST"]);
$subdomain = $host[0];
Configure::write('city', $subdomain);
$this->City->getId($subdomain); //function in City model fetching City ID by city name
...
}
}

所以基本上,在此之后取决于您的应用程序架构是什么以及您如何处理这个城市。

关于php - 如何让cakephp在不同的子域上传递内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3446003/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com