[resolu] Rewrite avec reprise d'éléments texte

Nouveau WRInaute
Bonjour à tous,
Je cherche à mettre en place ce type de réécriture d'URL :

/biographie.php?code=biographie-prenom-nom

en :

/biographie-prenom-nom.php

Donc reprendre biographie-prenom-nom (+.php) (chaque page de bio aura une URL différente) et "supprimer" mapage.php?code=.

D'avance merci de votre aide,
Guillaume
 
WRInaute accro
/biographie.php?code=biographie-prenom-nom
en :
/biographie-prenom-nom.php

Code:
RewriteRule ^(.*)\.php$ /biographie.php?code=$1 [L]

Tu risques d'avoir des surprises avec cette règle qui pourtant matche avec ta demande. Cette règle va prendre toute les urls sans exeption et les réécrire. Cela reste applicable si tu travail dans un répertoire mais dans ce cas tu donneras l'index.php et la racine comme exception a la réécriture.

avec le fichier .htaccess placer dans un répertoire
Code:
RewriteCond %{REQUEST_URI} !^/$
RewriteCond %{REQUEST_URI} !^/index.php$
RewriteRule ^(.*)\.php$ /biographie.php?code=$1 [L]


Si tu ne peux pas le faire dans un répertoire, tu dois mettre un"flag" pour te repérer et éviter de réécrire des urls non concernées

/biographie.php?code=biographie-prenom-nom
en :
/nom_de_ton_flag-biographie-prenom-nom.php

Code:
RewriteRule ^nom_de_ton_flag-(.*)\.php$ /biographie.php?code=$1 [L]
 
Nouveau WRInaute
Merci beaucoup pour ta réponse !

Penses-tu que je puisse utiliser biographie comme flag ? C'est-à-dire changer mes URL dynamiques comme suit :

/biographie.php?code=prenom-nom

en :

/biographie-prenom-nom.php

et donc faire de biographie mon flag ?

Encore merci à toi,
Guillaume
 
WRInaute accro
si tu veux enlever biographie de la variable code:

/biographie.php?code=prenom-nom
en :
/biographie-prenom-nom.php

Code:
RewriteRule ^biographie-(.*)\.php$ /biographie.php?code=$1 [L]

ou si tu veux le conserver:

/biographie.php?code=biographie-prenom-nom
en :
/biographie-prenom-nom.php

Code:
RewriteRule ^biographie-(.*)\.php$ /biographie.php?code=biographie-$1 [L]
 
Discussions similaires
Haut