关于php:CodeIgniter 子域路由最佳实践 | 珊瑚贝

CodeIgniter Subdomain Routing Best Practice


我很快要重新开发一个站点,我想知道为子域路由 CodeIgniter 的最佳实践是什么。我的网站将有两个”部分”,一个普通用户部分和一个业务部分。用户部分将位于 http://example.com,而业务部分将位于 http://business.example.com。目前要路由这个,我正在检查路由文件中的域,并为每个路由使用一组不同的路由,如下所示:

1
2
3
4
5
6
7
8
9
$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 中实现所需路由的最佳方法,或者是否有其他人可以提出更好的方法。

  • w3code.in/2015/10/…
  • @Ricky 不同的场景,网站的两个部分服务于不同的目的(不同的页面、功能等)。给出的示例是在多个子域上复制同一站点。例如; TotalJobs 为”用户”提供 totaljobs.com,为”企业”提供招聘人员.totaljobs.com。


您可以为每个目的使用两个”应用程序”文件夹,并在 index.php 文件中切换应用程序。

以下是官网的解释:

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

  • 断开的链接…这就是为什么我们应该描述解决方案,然后在您的答案中包含指向参考的链接。
  • 链接没有损坏。并且关键字 codeigniter 管理应用程序足以到达同一页面。只需要谷歌它。
  • 新链接在这里。 codeigniter.com/userguide3/general/managing_apps.html


先生。 Taha 的上述答案是一个很好的解决方案,但我在 ci 中用一种不同的方法开发了它。

在您服务器的两个文件夹(域和子域)中,您必须拥有 index.php 和 .htaccess 文件。
当然,您必须定义应用程序和系统文件夹的路径,并且您可以定义一个 var(如您的域或对您有用的东西),以后您将在任何地方使用它。

在您的应用程序中,您可以在 index.php 中为 https://business.example.com 域使??用 _DOMAIN 定义,例如:

1
define(‘_DOMAIN’, ‘https://business.example.com’);

使用这个 _DOMAIN 变量,您可以处理如下路由:

1
2
3
    if (_DOMAIN == ‘https://business.example.com’) {
    $route[‘default_controller’] = ‘Your/Controller’;
}

几乎所有你想要的东西或你想要的地方(控制器、库等)。

不知道这是否是最好的解决方案,但对我来说,这太棒了!
希望我有所帮助


来源:https://www.codenong.com/34067203/

微信公众号
手机浏览(小程序)

Warning: get_headers(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

Warning: get_headers(): Failed to enable crypto in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

Warning: get_headers(https://static.shanhubei.com/qrcode/qrcode_viewid_9004.jpg): failed to open stream: operation failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57
0
分享到:
没有账号? 忘记密码?