我很快将重新开发一个网站,我想知道为子域路由CodeIgniter的最佳做法是什么。我的网站将有两个“部分”,一个普通用户部分和一个业务部分。用户部分将位于http://example.com,而业务部分将位于http://business.example.com。目前要路由这个我在路由文件中检查域名,并为每个域名使用不同的路由,这些路线的内容如下:
$url = explode('http://', $_SERVER['HTTP_HOST']);
if($url[0] == 'business.example.com') {
// routes for the "business" section
$route['default_controller'] = 'business/homepage/index';
} else {
// all other routes
$route['default_controller'] = 'users/homepage/index';
}
我还将控制器分成两个主要文件夹,“business”和“users”。
我只是想知道这是否是实现CodeIgniter中所需路由的最佳方式,或者是否有其他人可以提出更好的方法。
答案 0 :(得分:1)
你可以使用两个"应用程序"用于各种目的的文件夹,并在index.php
文件中切换应用程序。
以下是官方网站上的解释:
https://ellislab.com/codeigniter/user-guide/general/managing_apps.html
答案 1 :(得分:0)
先生。 Taha的上述答案是一个很好的解决方案,但我在ci中用一种不同的方法开发了它。
在服务器的两个文件夹(域和子域)中,必须具有index.php和.htaccess文件。 您当然必须定义应用程序和系统文件夹的路径,并且您可以定义var(就像您的域或对您有用的东西),您将在以后随处使用它。
在您的应用中,您可以在index.php中为https://business.example.com域使用_DOMAIN定义,例如:
browser.executeScript
使用此_DOMAIN var,您可以处理如下路线:
define('_DOMAIN', 'https://business.example.com');
以及您想要的几乎所有内容或您想要的位置(控制器,库等)。
不知道这是否是最佳解决方案,但对我来说这是超级! 希望我帮助