Aller au contenu

Pas de ^ ou de $ et ça passe quand même...


Sujets conseillés

Hello les bons,

Petite question de validation.. Je flippe un peu avec mes manip'.

Je bosse sur le .htaccess de categorizator. J'ai un 90plan OVH.

1 ligne m'interpelle car dans son état initial elle ne passe pas :

RewriteRule ^details-([0-9]+)\.html$   /details.php?id=$1 [L]

> Erreur 404

Mais si j'enlève le ^

RewriteRule details-([0-9]+)\.html$  /details.php?id=$1 [L]

ou encore le ^ et le $

RewriteRule details-([0-9]+)\.html   /details.php?id=$1 [L]

ça passe nickel.

Hum, est-ce normal ? Des explications ? Spécificité à OVH ?

Je veux dire, là, je ne respecte pas la structure conventionnelle et ça passe... ai-je bien le droit ?

Merci pour vos précisions qui m'aideront à dormir sur mes 2 oreilles :sleep:

Bertrand

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

Bonsoir,

rapidement, et à vue d'oeuil, je te dirais d'essayer ceci :

RewriteRule ^(.+?)\details-([0-9]+)\.html$  /details.php?id=$1 [L]

ou encore

RewriteRule ^\details-([0-9]+)\.html$  /details.php?id=$1 [L]

ou encore

RewriteRule details-([0-9]+)\.html$  /details.php?id=$1 [L]

Rapide explication : il est possible que le slash d'entrée soit nécessaire (ex: www.ton-domain.com\details-10.html.

Bonne continuation, ;)

David.

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

Merci pour ton assistance David !

Bon, les 2 premiers marchent pas, seul le 3ème fonctionne comme je l'avais avancé dans mon 1er message.

Je reviens alors à mon interrogation initiale : puis-je continuer sans ^ ni $, ça ne pose aucun problème ?

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

Merci pour ton assistance David !

Bon, les 2 premiers marchent pas, seul le 3ème fonctionne comme je l'avais avancé dans mon 1er message.

Je reviens alors à mon interrogation initiale : puis-je continuer sans ^ ni $, ça ne pose aucun problème ?

Oui et non, le "^" indique le départ de la chaine regexp, et le "$" la fin.

Si tu les enleves, ca marchera, c'est sur, mais...

/details-12.html.chose.machin

fonctionnera aussi, tout comme

truc/bidule/details-12.html.autre-truc.php

Essaye de réécrire en utilisant ce format :

RewriteRule ^(\\)?details-([0-9]+)\.html$  /details.php?id=$2 [L]

ou, le cas échéant:

RewriteRule ^(.+?)?details-([0-9]+)\.html$  /details.php?id=$2 [L]

Bon courage ;)

David.

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

OK c'est compris, merci pour tes explications et ton assistance !

Bon ben hallucinant, y'a rien à faire, tes 2 dernières propositions ne passent pas...

Je garde donc, faute de mieux :

RewriteRule details-([0-9]+)\.html$  /details.php?id=$1 [L]

Quoi qu'il en soit, encore merci pour ton assistance :)

Si quelqu'un d'autre a déjà rencontré ce problème, qu'il parle ou se taise à jamais ;)

Précision complémentaire (peut-être inutile) je travaille sur un sous-domaine, lequel pointe vers un sous-dossier. Et je le rappelle, je suis sur un mut 90plan ovh.

Bon, c'est l'heure de dormir, bonne nuit !

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

Si tu veux rendre facultatif le / de début de chaîne, mets ceci:

RewriteRule ^/?details-([0-9]+)\.html$  /details.php?id=$1 [L]

Lien vers le commentaire
Partager sur d’autres sites

Wow yeah ! Ca marche nickel Dan, merci à toi...

Un tuto de référence en tête où j'aurais pu découvrir ceci par moi-même ?

Si non, juste l'explication pour plus que j'embête le hub avec mes questions de noob ;)

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

Wow yeah ! Ca marche nickel Dan, merci à toi...

Un tuto de référence en tête où j'aurais pu découvrir ceci par moi-même ?

Sur le Hub bien évidemment ! J'en ai écrit quelques-uns sur la réécriture et le fichier .htaccess :)

Vas voir à cette page:

http://www.webmaster-hub.com/publication/_Dan_.html

Lien vers le commentaire
Partager sur d’autres sites

Arf, le truc c'est que je ne retrouve rien sur la signification du /? juste après le ^ de début.

Il veut dire quoi ?

Bon il est 8h aussi, c'est peut-être pas le bon moment ;)

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

OK !

1) Merci à vous 3 qui avez pris le temps de vous pencher sur mon cas ;)

2) Bravo pour la rapidité de réponse.

3) Bonne journée !

Bertrand

Modifié par bertimus
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...