Codeigniter,域到网站的某个区域

时间:2010-10-02 08:33:26

标签: php .htaccess codeigniter routing

我不是一个非常有经验的程序员,并且第二次使用CodeIgniter。

假设我有www.domain1.com。所以我会说,3个控制器/ area1,/ area2,/ area3。如果我将基本URL设置为www.domain1.com,用户可以访问它们www.domain1.com/area1等。但我的问题是,客户想要网络的某个区域,比如area2,在自己的域中作为微型网站工作,所以他想通过www.domain2.com访问area2。

我不知道如何使用CodeIgniter。假设他注册www.domain2.com并将其设置为指向相同的DNS,服务器等。当访问URL www.domain2.com时,如何让CodeIgnitor执行控制器区域2?

也许改变$config['base-url']?路由? .htaccess?如果您已经解决了这个问题,请非常感谢所涉及的代码示例。

编辑:我将把我想要的网站示例。

我有一个正常安装的CodeIgniter(外部主机,我无法访问httpd.conf)它在一台机器上,网站的根目录应该由www.domain1.com访问

所有域都在注册之外。所以我有家庭控制器,它显示主页面视图。并且假设该站点具有3个区域/区域1,/区域2 /区域3,以及它们的相应控制器,显示这些区域视图。

我的客户想要强调其中一个区域,即控制器/区域2显示的区域,并且他想为该区域使用不同的域名,www.domain2.com

我可以做什么,当用户浏览到www.domain2.com时,CI会将它们重定向到www.domain1.com/area2?例如,我可以根据收到的URL修改$config['base_url'],还是不可能?我是否需要修改.htaccess文件?

4 个答案:

答案 0 :(得分:7)

经过大量的搜索,我找到了一个似乎有效的解决方案,很容易说实话:

修改routes.php

if ($_SERVER['HTTP_HOST']=="www.domain2.com") {
    $route['default_controller'] = "area2"; 
}

无需重写。

答案 1 :(得分:0)

这是一个有用的链接.... http://www.askaboutphp.com/88/codeigniter-setting-up-multiple-sites-on-one-install.html 从来没有真正这样做过,但这似乎是没有两个ci安装的方法。祝你好运。

答案 2 :(得分:0)

你肯定需要采用mod_rewrite方式

答案 3 :(得分:-1)

我想到的第一个解决方案是使用Apache mod_rewrite,但据我所知,这只适用于内部重定向(即驻留在同一服务器/域上的资源)。

使用iframe怎么样?您可以使用整页iframe设置domain2.com主页,该iframe从domain1.com/area2获取内容。