Question

Je dois utiliser un sous-domaine comme classe. c'est-à-dire au lieu de:

www.example.com/class/function/id par exemple www.example.com/town-name/history/1

J'ai besoin

classe.example.com/function/id, par exemple urbain-name.example.com/history/1

J'ai sauvé le sous-domaine de Nginx, maintenant j'ai googlé et lisez

http://codeigniter.com/user_guide/libries/uri.html <

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

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

mais rien de pertinent. J'en ai besoin pour être de sorte que si une autre ville est ajoutée à la DB, elle résoudra cette nouvelle ville et ses détails.

Je vois de nombreuses discussions sur les réécrites, les redirections, etc., mais j'ai spécifiquement besoin d'utiliser le nom de la ville de sous-domaine comme variable de classe. Si possible, dans une idée de l'idée, je pourrais utiliser les deux ensemble, mais je doute que cela soit possible?

Je l'ai eu bien dans un vieil php plain pendant quelques années maintenant; Maintenant, je veux passer à CodeIdigniter sans ruiner mon ancienne structure si possible (plus il y a une bonne raison pour cela).

merci à vous.

Était-ce utile?

La solution

Vous pouvez le faire.Je le fais pour l'un de mes projets.

dans le constructeur de votre contrôleur, juste exploser l'URL actuelle et obtenez-enle sous-domaine et transmettez-le dans votre méthode en tant que variable

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
        }
    }
}

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top