Url rewriting - Règle de redirection générale

Résolu/Fermé
DamsWD Messages postés 35 Date d'inscription dimanche 6 avril 2008 Statut Membre Dernière intervention 9 juin 2015 - 16 juil. 2011 à 02:26
DamsWD Messages postés 35 Date d'inscription dimanche 6 avril 2008 Statut Membre Dernière intervention 9 juin 2015 - 17 juil. 2011 à 19:45
Bonjour,

Actuellement en cours de réalisation d'un site internet, pouvez-vous m'aider à trouver la solution suivante sur les URL REWRITING :

Je souhaiteras effectuer une règle de redirection pour l'ensemble des liens.

Par exemple, rediriger "/home" vers "/index.php/home", plus générallement, "/*" vers "/index.php/*".

En programmation, quelque chose comme cela :
<IfModule mod_rewrite.c>
	RewriteEngine on
	RewriteRule *  /index.php/* [L] 
</IfModule>


Merci de votre aide.

2 réponses

avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 504
16 juil. 2011 à 09:26
Salut,

Il faut utiliser les parenthèses capturantes.

<IfModule mod_rewrite.c>
	RewriteEngine on
	RewriteRule ^(.*)$  /index.php/$1 [L] 
</IfModule>

^ signifie "depuis le début"
$ signifie "jusqu'à la fin"
Donc on récupère l'entièreté du chemin
. signifie "tous les caractères" et
* signifie "0 fois, 1 fois, ou plus"
$1 correspond à la valeur capturée par la première parenthèse.
1
DamsWD Messages postés 35 Date d'inscription dimanche 6 avril 2008 Statut Membre Dernière intervention 9 juin 2015
17 juil. 2011 à 19:45
Effectivement, cette solution parfaitement.

Comme à mes habitudes, je cherche trop compliqué ! :-)

Merci en tout cas.

Bonne soirée.
0