Réécriture d'URL sans extension ..... :-/ [Résolu]

Signaler
Messages postés
536
Date d'inscription
lundi 5 mai 2003
Statut
Membre
Dernière intervention
29 janvier 2009
-
Messages postés
536
Date d'inscription
lundi 5 mai 2003
Statut
Membre
Dernière intervention
29 janvier 2009
-
Salut !
Voici ma question :

je voudrais réécrire mes pages du style :
http://www.monSite.com/toto  en  http://www.monSite.com/page.php?var=toto
http://www.monSite.com/mimi en  http://www.monSite.com/page.php?var=mimi

mon problème c'est que je ne trouve pas le moyen de réécrire ces URLs sans extension, sans réécrire mais autres fichiers (index.php, contact.php etc ....)
En gros quand j'essay d'aller sur http://www.monSite.com/contact.php, bah ca me réécrit l'URL en http://www.monSite.com/page.php?var=contact.php

Voila, si qqun a déjà eu ce probleme, ou juste une idée merci d'avance !
Tytom

_____________________
 http://www.bzh-metal.com
Communauté Métal Bretonne

6 réponses

Messages postés
536
Date d'inscription
lundi 5 mai 2003
Statut
Membre
Dernière intervention
29 janvier 2009
1
encore merci mais j'avais trouvé d'ou cela venait !
En fait c'est pasque je réécrivais toutes les URL sauf les .php
donc je réécrivais aussi les images, les swf etc .....

au final j'ai donc :
RewriteEngine on
RewriteRule ^(.*)\.(.*)$ - [QSA,L]
RewriteRule ^(..*)$ ./page.php?var= $1 [QSA,L]

La 2eme ligne indique qu'il ne doit y avoir aucun traitement sur les URL contenant "
.
"
La 3eme ligne effectue le traitement : j'ai mis "..
" pour ne pas effectuer de traitement si il n'y a pas au moins un caractère (si l'on rentre juste l'adresse du site http://www.monSite.com par exemple)

De plus, sur mon fichier page.php, j'ai du effectuer un traitement pour voir si ma variable var était correct (présence dans une BDD)
Sinon lorsque j'essay de lister un répertoire ex :
http://www.monSite.com/images/ (ou
http://www.monSite.com/images )

ca me transformait l'URL en :

http://www.monSite.com/page.php?var =images/

merci pour ton aide !
a+++

_____________________
 http://www.bzh-metal.com
Communauté Métal Bretonne
Messages postés
158
Date d'inscription
samedi 8 février 2003
Statut
Membre
Dernière intervention
17 juin 2010

// on traite en premier le cas où l'on a l'extension .php
RewriteRule ^(.*)\.php$ page.php?var=$1 [QSA,L]
// s'il n'y avait pas l'extension .php alorson essaye le cas général.
RewriteRule ^(.*)$ page.php?var=$1 [QSA,L]
Messages postés
536
Date d'inscription
lundi 5 mai 2003
Statut
Membre
Dernière intervention
29 janvier 2009
1
Salut !
merci pour ta réponse mais avec ton exemple si j'affiche
contact.php ca va me transfmormer l'url en page.php?var=contact

ce que je voudrais en fait, c'est ne pas réécrire les urls *.php, réécrire seuelement les urls sans extension !
ex :
contact.php => contact.php
index.php => index.php
demo => page.php?var=demo
test => page.php?var=test

;)
_____________________
 http://www.bzh-metal.com
Communauté Métal Bretonne
Messages postés
158
Date d'inscription
samedi 8 février 2003
Statut
Membre
Dernière intervention
17 juin 2010

RewriteRule ^(.*)\.php$ $1?php [QSA,L]
RewriteRule ^(.*)$ page.php?var=$1 [QSA,L]
Messages postés
536
Date d'inscription
lundi 5 mai 2003
Statut
Membre
Dernière intervention
29 janvier 2009
1
merci je débute avec les htaccess et la redirection =)

j'ai essayé ton truc, ca me fait une internal serveur error
par contre j'ai trouvé ca qui marche :
RewriteEngine on
RewriteRule ^(.*)\.php$ - [QSA,L]
RewriteRule ^(.*)$ /page.php?var=$1 [QSA,L]

le "-" de la 2eme ligne pour ne pas traiter les fichiers php !
le problème maintenant c'est que pluq aucune image n'est affichée !???
pourtant tout se passe dans le même répertoire.
Surement un probleme de chemin/racine !
je cherche je cherche !

_____________________
 http://www.bzh-metal.com
Communauté Métal Bretonne
Messages postés
158
Date d'inscription
samedi 8 février 2003
Statut
Membre
Dernière intervention
17 juin 2010

ajoute ça entre <header> et </header> dans ton fichier page.php :
www.monSite.com/" >
(n'oublie pas de remplacer www.monSite.com par l'adresse de ton site)