Funzione CodeIgniter _remap
-
26-09-2019 - |
Domanda
Please help voglio usare primo segmento URI nel mio sito web CodeIgniter.
Come quando apro questi url che apre il mio profilo: http://www.facebook.com/buddyforever o http://www.myspace.com/zarpio
Come posso fare questo con CodeIgniter? Ho controllato la funzione _remap
ma prima venuta del controller come nascondere controllore?
Soluzione
È possibile farlo utilizzando l'URL di routing di CodeIgniter ...
Se volete che il vostro URL da http://www.mydomain.com/zarpio
e lo si vuole fare riferimento a your_controller
, quindi procedere come segue.
/config/routes.php
$route['(.*)'] = "your_controller/$1"; // Now, `zarpio` will be passed to `your_controller`
Si può accedere nel controller come questo ...
$my_name = $this->uri->rsegment(2);
Comunque io non suggeriscono questo modo di configurare gli URL. Un modo migliore sarebbe ...
$route['users/(.*)'] = "your_controller/$1";
In questo modo, si sta solo rinominare il nome del controller your_controller
a users
.
Se si vuole profilo di accesso di un utente, si può fare in questo modo ...
$route['users/profile/(.*)'] = "another_controller/method/$1";
$route['users/(.*)'] = "your_controller/$1";
Si consideri l'ordine di instradamento. Dal momento che hai scritto users/(.*)
nel vostro percorso, si abbinerà users/zarpio
così come users/profile/zarpio
, e via tutti e due a your_controller/$1
, che nel caso di profilo vi darà un errore di 404 page not found
. Ecco perché è necessario users/profile/(.*)
scrittura prima users/(.*)
nella configurazione di routing.