我不是一个非常有经验的程序员,并且第二次使用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
文件?
答案 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获取内容。