Codeigniter _remap Funktion
-
26-09-2019 - |
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?
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