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?

È stato utile?

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.

codeigniter URI documentazione relativa alla classe

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top