子域URL段是否可以用作Codeigniter中的类



我需要使用子域作为类。即,而不是:

www.example.com/class/function/ID,例如www.example.com/town-name/history/1

我需要

class.example.com/function/ID,例如town-name.example.com/history/1

我已经在nginx中通配符了子域,现在我已经在谷歌上搜索并阅读了

http://codeigniter.com/user_guide/libraries/uri.html

http://codeigniter.com/user_guide/general/urls.html

http://codeigniter.com/user_guide/helpers/url_helper.html

但没有任何关联。我需要它,这样,如果数据库中添加了另一个城镇,它就会解决这个新城及其细节。

我看到很多关于重写、重定向等的讨论,但我特别需要使用子域城镇名称作为类变量。如果可能的话,在一个思想世界里,我可以同时使用两者,但我怀疑这是否可能?

几年来,我一直在普通的老php中运行良好;现在,如果可能的话,我想升级到codeigniter,而不破坏我的旧结构(另外还有一个很好的理由)。

谢谢你。

你可以做到。我正在为我的一个项目做这件事。

在控制器的构造函数中,只需分解当前url并获取子域,然后将其作为变量传递到方法中

public class Controller extends CI_Controller {
    $subdomain = null;
    public __construct() 
    {
        // explode url here and set $this->subdomain = the actual subdomain
    }
    public function index() 
    {
        if($this->subdomain == null) {
            show_404();
        } else {
            // do what you wish
        }
    }
}

相关内容

  • 没有找到相关文章

最新更新