Aller au contenu

pb URL Rewriting


KaRaK

Sujets conseillés

Bonjour a tous.

Jai lu l'article http://www.webmaster-hub.com/publication/article5.html de Dan ainsi que de nombreux post et articles

un peu partout sur le web mais jai quelques petites problemes :)

J'ai effectué tout dabord un test avec

RewriteEngine on
RewriteRule   ^nexistepas.html$   trouve.html  [L]

Ca marche.

Je souhaite reecrire cette adresse la :

http://www.bioman.com/jaune/pistolet/index.php?f_fichier=arc-en-ciel.htm

en

http://www.bioman.com/jaune/pistolet/arc-en-ciel.htm

Apres toutes mes lecteurs et le test concluant, je me disais facile :)

Jai donc mis cela dans un fichier .htaccess placé à la racine de mon serveur (mutualisé).

RewriteEngine on
RewriteRule ^jaune/pistolet/(.+)$ jaune/pistolet/index.php?f_fichier=$1 [L]

Seulement lorsque j'essaye d'acceder à la page :

h**p://www.bioman.com/jaune/pistolet/arc-en-ciel.htm

J'obtiens une belle 404 :)

Si quelqu'un a une petite idée je suis preneur ;)

ps: le domaine bioman.com est donné ici a titre d'exemple. Je ne suis pas l'heureux proprietaire de ce nom de domaine.

Merci.

Lien vers le commentaire
Partager sur d’autres sites

Posté (modifié)

Jai testé

RewriteRule ^(.+)$ /index.php?f_fichier=$1 [L]

en le placant dans le repertoire et non à la racine.

Cela affiche l'indexe de mon site lorsque j'appelle la page

h**p://www.bioman.com/jaune/pistolet/arc-en-ciel.htm

Jai aussi testé sans le /

sans plus de succes.

Merci beaucoup pr votre reponse.

Modifié par KaRaK
Lien vers le commentaire
Partager sur d’autres sites

Je suis chez cet hebergeur :

h**p://www.oceanet-technology.com/

Malheureusement je n'ai pas trouvé d'infos sur leur site

concernant le mod rewrite.

Et je n'ayant pas tres confiance dans ma syntaxe pour le rewriting,

je n'ai pas contacté la hotline :)

Lien vers le commentaire
Partager sur d’autres sites

Salut Karak

Ta règle est bonne, mais il faut mettre le .htaccess dans le répertoire jaune/pistolet/

RewriteEngine On
RewriteRule (.+)\.htm index.php?f_fichier=$1.htm [L]

Dan

Lien vers le commentaire
Partager sur d’autres sites

Ca marche ;)

Merci beaucoup Dan et Gilbert.

Il y aura un petit lien cadeau vers le hub sur mon site

et surement un affiliation à D***** ;)

Resumé :

Pour reecrire une adresse du type :

h**p://www.domain.com/rep/rep2/index.php?f_fichier=page.htm

en

h**p://www.domaine.com/rep/rep2/page.htm

Il faut placer dans le dossier "rep2" le fichier htaccess suivant :

RewriteEngine on
RewriteRule (.+)\.htm index.php?f_fichier=$1.htm [L]

Lien vers le commentaire
Partager sur d’autres sites

Je continue mon aventure avec la reecriture...

et je suis encore confronté a un petit probleme :)

Je maltraite les urls du type :

h**p://www.domaine.com/rep/rep2/index.php?type=p&f_fichier=page

pour les transformer en :

h**p://www.domaine.com/rep/rep2/p-page

Je place dans le dossier rep2 le fichier htaccess suivant :

RewriteEngine on
RewriteRule (.+)\.htm index.php?f_fichier=$1.htm
RewriteRule (.+)-(.+) index.php?type=$1&f_fichier=$2 [L]

La premiere regle fonctionne pour les urls avec 1 parametre.

La deuxieme regle fonctionne egalement.

J'appelle cette page et cela fonctionne :

h**p://www.domaine.com/rep/rep2/p-page

Alors où est le probleme ? :)

Je voudrai appeler des urls du type

h**p://www.domaine.com/rep/rep2/p-page.htm

Je change donc mon htaccess :

RewriteEngine on
RewriteRule (.+)\.htm index.php?f_fichier=$1.htm
RewriteRule (.+)-(.+)\.htm index.php?type=$1&f_fichier=$2.htm [L]

Je teste toujours avec l'adresse :

h**p://www.domaine.com/rep/rep2/p-page.htm

Et je ne sais pas pourquoi j'obtiens dans ma variable f_fichier :"p-page.htm"

et rien dans type.

Quelqu'un a une petite idée ?

Lien vers le commentaire
Partager sur d’autres sites

RewriteEngine on
RewriteRule (.+)\.htm index.php?f_fichier=$1.htm
RewriteRule (.+)-(.+) index.php?type=$1&f_fichier=$2 [L]

Il me semble que le pb vient du fait que les urls de ta deuxième regle fonctionne avec la première règle.

L'inverse n'étant pas vrai il faut les mettre dans le bon ordre pour régler ton problème

RewriteEngine on
RewriteRule (.+)-(.+) index.php?type=$1&f_fichier=$2 [L]
RewriteRule (.+)\.htm index.php?f_fichier=$1.htm [L]

De cette manière la première règle sera appliqué et ton rewriting s'arretra là

Lien vers le commentaire
Partager sur d’autres sites

Je pensais avoir deja testé en supprimant carrement ma premiere regle.

Mais dans le doute j'ai quant meme re-testé en inversant l'ordre de mes regles

et... ca marche ;)

Merci beaucoup.

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...