2010-10-23 5 views
1

Dites que je voulais le schéma d'URL suivant, que j'ai eu à travailler en définissant l'itinéraire URI suivant.Codeigniter - Twitter comme URI Routage

http://www.domain.com/profile/jimbob123

$route['profile'] = "profile/index"; 
$route['profile/(:any)'] = "profile/index/$1"; 

Maintenant, disons que je veux que mon URL pour ressembler à ce qui suit quand je veux afficher un « statut ».

http://www.domain.com/profile/jimbob123/status/908734efc

Comment puis-je aller sur la transmission « jimbob123 » et « 908734efc » dans ma méthode pour que je puisse vérifier et récupérer ce dossier en particulier? J'ai essayé ce qui suit, mais cela ne semble pas fonctionner.

$route['user/(:any)/status/(:any)'] = "user/plan/$1/$2"; 

Répondre

2

Je suppose que vous avez écrit où user/(:any)/status/(:any) vous vouliez dire profile/(:any)/status/(:any)

Cela pourrait être un problème, aussi ceci:

Les routes sont analysées dans l'ordre dans lequel ils sont déclarés. Si vous l'avez écrit comme ceci:

$route['profile'] = "profile/index"; 
$route['profile/(:any)'] = "profile/index/$1"; 
$route['profile/(:any)/status/(:any)'] = "user/plan/$1/$2"; 

Il ne fonctionnera pas parce que « http://www.domain.com/profile/jimbob123/status/908734efc » correspond à la deuxième voie. Si vous échangez les deuxième et troisième lignes, vous devriez être bon.

$route['profile'] = "profile/index"; 
$route['profile/(:any)/status/(:any)'] = "user/plan/$1/$2"; 
$route['profile/(:any)'] = "profile/index/$1"; 
+0

Ah ok ... pouvez-vous jeter un oeil au lien suivant? http://brandonbeasley.com/blog/codeigniter-vanity-urls/ Ligne # 7 dans son fichier route.php, à quoi cela sert-il? – luckytaxi

+0

Je suppose que la ligne 7 vous amène à une page de profil d'utilisateur où vous pouvez ajouter ou éditer des informations d'utilisateur. Je ferais d'habitude ceci à travers deux fonctions puisque c'est lié à deux opérations, donc je ne sais pas pourquoi il est en train de le mapper à une seule fonction. notez que les lignes de la ligne 8 ne correspondent pas à 7 routes, contrairement à votre cas où: n'importe qui ramassera n'importe quel ensemble de caractères. –