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

Résolu
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

  1. 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. Effectivement, cette solution parfaitement.

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

      Merci en tout cas.

      Bonne soirée.