2010-01-03 4 views
0

Je suis en train de construire un service court URI avec CI que je peux apprendre plus vite CI de toute façon .. Je me suis coincé au routage i cachais le index.php ensuite ajouté l'itinéraire suivant $route['([A-z0-9]{4})'] = "/forward/redirect/$1";CodeIgniter Routing

mais il montre juste mon contrôleur par défaut

J'ai aussi essayé avec htaccess

RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([A-z0-9]{4})$ /forward/redirect/$1 [NC] 

il donne une erreur de ne pas avoir de données transmises toute aide est appréciée. Vive

Répondre

1

je l'ai finalement obtenu travail> _>

fichier routes

contient ce

$route['([A-z0-9]{4})'] = "/forward/redirect/$1"; 

htaccess contient ce

RewriteEngine on 

RewriteCond %{HTTP_HOST} ^www\.(.*) [NC] 
RewriteRule ^(.*) http://%1/$1 [R=301] 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([A-z0-9]{4})$ index.php/forward/redirect/?$1 [NC] 
RewriteCond $1 !^(index\.php|images|robots\.txt|(.*).js|(.*).css|(.*).jpg|(.*).png) 
//added (.*) so resources could be loaded properly :) 
RewriteRule ^(.*)$ /index.php/$1 [L] 
2

Comme il n'y a pas de chemin physique /forward/redirect/, vous devez rediriger vers le fichier index.php « fourre-tout » à la racine et entrez le chemin comme paramètre:

RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([A-z0-9]{4})$ /index.php/forward/redirect/$1 [NC] 

Ou vous pouvez laisser la règle comme il est et ajouter une autre règle (cette façon, vous aurez deux cycles de réécriture, le premier réécrira à /forward/redirect/asdf, puis la seconde à récrit index.php/forward/redirect/asdf:

RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([A-z0-9]{4})$ /forward/redirect/$1 [NC] 
RewriteRule ^(.*)$ index.php/$1 [QSA,L] 
+0

oui, il ne fonctionne – Aviatrix

+0

mis à jour mon post – naivists

+0

maintenant j'obtiens l'erreur 500 o.o – Aviatrix