Можно ли использовать сегмент URL субдомена как класс в Codeigniter? - PullRequest
0 голосов
/ 29 февраля 2012

Мне нужно использовать поддомен в качестве класса.т.е. вместо:

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, не разрушая мою старую структуру, если это возможно (плюс для этого есть веские причины).

Спасибо.

1 Ответ

1 голос
/ 29 февраля 2012

Вы можете сделать это. Я делаю это для одного из моих проектов.

В конструкторе вашего контроллера просто взорвать текущий 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
        }
    }
}
...