簡體   English   中英

CodeIgniter子域路由最佳實踐

[英]CodeIgniter Subdomain Routing Best Practice

我很快將重新開發一個站點,我想知道為子域路由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';
}

我還將我的控制器分成兩個主要文件夾,“業務”和“用戶”。

我只是想知道這是否真的是在CodeIgniter中實現所需路由的最佳方式,或者是否有其他人可以提出更好的方法。

您可以為每個目的使用兩個“應用程序”文件夾,並在index.php文件中切換應用程序。

以下是官方網站上的解釋:

https://ellislab.com/codeigniter/user-guide/general/managing_apps.html

Taha先生的上述答案是一個很好的解決方案,但我在ci中用一種不同的方法開發了這個。

在服務器的兩個文件夾(域和子域)中,您必須具有index.php和.htaccess文件。 您當然必須定義應用程序和系統文件夾的路徑,並且您可以定義var(如您的域或對您有用的東西),您將在以后隨處使用它。

在您的應用中,您可以在index.php中為https://business.example.com域使用_DOMAIN定義,例如:

define('_DOMAIN', 'https://business.example.com');

使用此_DOMAIN var,您可以處理以下路由:

    if (_DOMAIN == 'https://business.example.com') {
    $route['default_controller'] = 'Your/Controller';
}

幾乎你想要的一切或你想要的地方(控制器,圖書館等......)。

不知道這是不是最好的解決方案,但對我來說這是超級! 希望我幫忙

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM