Frage

Bitte helfen ich erste URI Segment in meine CodeIgniter Website verwenden möchten.

Wie, wenn ich diese URL öffnen öffnet sie mein Profil: http://www.facebook.com/buddyforever oder http://www.myspace.com/zarpio

Wie kann ich das mit CodeIgniter? Ich habe _remap Funktion aber zuerst kommt Controller, wie man verstecken Controller?

War es hilfreich?

Lösung

können Sie tun dies über die URL-Routing von codeigniter ...

Wenn Sie Ihre URL wollen http://www.mydomain.com/zarpio sein, und Sie wollen es your_controller beziehen, dann die folgenden Aktionen aus.

/config/routes.php

$route['(.*)'] = "your_controller/$1"; // Now, `zarpio` will be passed to `your_controller`

Sie können es in Ihrem Controller zugreifen wie dieses ...

$my_name = $this->uri->rsegment(2);

Allerdings schlage ich nicht auf diese Weise URLs zu konfigurieren. Ein besserer Weg wäre ...

$route['users/(.*)'] = "your_controller/$1";

Auf diese Weise sind Sie nur Ihre Controller-Namen your_controller zu users umbenennen.

Wenn Sie den Zugriff auf Profil eines Benutzers möchten, können Sie es tun so ...

$route['users/profile/(.*)'] = "another_controller/method/$1";
$route['users/(.*)'] = "your_controller/$1";

Betrachten Sie die Reihenfolge der Routing. Da Sie users/(.*) in Ihrer Route schrieben, wird es users/zarpio sowie users/profile/zarpio und Route beide zu your_controller/$1, was im Fall von Profil werden Sie einen 404 page not found Fehler entspricht. Deshalb sollten Sie zu schreiben users/profile/(.*) vor users/(.*) in Ihre Routing-Konfiguration benötigen.

Weitere Informationen unter codeigniter URI Klasse Dokumentation

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top