Rewriting url OVH avec php3

Nouveau WRInaute
Bonjour,

j'ai bien regardé vos posts mais je n'ai pas trouvé la solution à mon pb.:( :oops:
voilà je voudrais faire de l'url rewrting et ca ne marche pas. (je suis chez OVH)

exemple de l'adresse du site : http://www.tresordevie.com/suite.php3?num=379&subcat=ultraportable
que je voudrais mettre en http://www.tresordevie.com/suite/num-379-subcat-ultraportable.html

j'ai essayé cette syntaxe :

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^suite-([0-9]+)-([0-9]+)\html$ http://www.tresordevie.com/suite.php3?num=$1&subcat=$2 [L]


et celle-ci aussi :

Options +FollowSymLinks
RewriteEngine on
RewriteRule suite-num-(.*)-subcat-(.*)\.html$ suite.php3?num=$1&subcat=$2


Aucune ne fonctionne...

Merci à tous par avance pour vos réponses

:D
 
WRInaute passionné
La deuxième est presque bonne :
Code:
RewriteRule suite-num-(.*)-subcat-(.*)\.html$   /suite.php3?num=$1&subcat=$2
devrait fonctionner (avec un "/" en plus devant la redirection)
 
WRInaute discret
Je ne sui pas expert
mais je crois me souvenir qu'il y qq problèmes avec Options +FollowSymLinks et ovh
N'oublies pas non plus RewriteBase / si tu es dans un sous répertoire
 
Nouveau WRInaute
Bonjour,

Je confirme les dires de pouloupoupo: si l'hébergement est un mutualisé chez OVH, alors effectivement, il y a des problèmes avec le Options +FollowSymLinks

Pour la règle de réécriture:
RewriteRule ^suite/num-([0-9]+)-subcat-([a-z]+)\.html$ /suite.php3?num=$1&subcat=$2

Si ta "subcat" peut aussi prendre des valeurs numériques:
RewriteRule ^suite/num-([0-9]+)-subcat-([a-z0-9]+)\.html$ /suite.php3?num=$1&subcat=$2
 
Nouveau WRInaute
Merci pour ces réponses rapides :D
mais ca marche toujours pas... :oops:

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^suite/num-([0-9]+)-subcat-([a-z]+)\.html$ /suite.php3?num=$1&subcat=$2


et je mets mon fichier .htaccess à la racine de mon site, donc pas besoin de RewriteBase car je suis pas dans un sous-répertoire.

peut-être que c'est à cause de la terminaison php3 de mon code...je sais pas...
sinon j'ai vu ce post qui parle des pb de rewriting liés à ovh : https://www.webrankinfo.com/forum/t/petite-modification-de-lurl-rewriting-chez-ovh.7659/

mais je vois pas...
 
WRInaute passionné
essaye en ajoutant le flag R pour voir si la règle marche (tu doit être redirigé vers la page) :
Code:
RewriteEngine on
RewriteRule ^suite/num-([0-9]+)-subcat-([a-z]+)\.html$ /suite.php3?num=$1&subcat=$2 [R]
suivant ce qui s'affiche tu pourras voir d'où vient le problème.
 
WRInaute discret
emmaweb a dit:
http://www.tresordevie.com/suite.php3?num=379&subcat=ultraportable
que je voudrais mettre en http://www.tresordevie.com/suite/num-379-subcat-ultraportable.html
pourquoi tu ne fais pas plutôt une syntaxe finale de ce genre: http://www.tresordevie.com/suite-379-ultraportable.html ? num et subcat sont les noms de tes variables tu n'as pas besoin de les faire apparaitre dans ton URL réécrite
ça donnerait une règle dans ce genre:
Code:
RewriteEngine on
RewriteRule ^suite-([0-9]+)-([a-z]+)\.html$ suite.php3?num=$1&subcat=$2 [L]
je suis chez OVH et cette syntaxe fonctionne très bien (sans option follow symlink ou "/" avant la 2eme partie de la règle)
 
Nouveau WRInaute
>>A webmasterlamogere
quand j'ajoute le [R], il ne se passe rien de plus, la réécriture ne se fait toujours pas, je n'ai même pas un message d'erreur. :(


>>A Lomic2, oui tu as raison je n'ai pas besoin de faire appartaitre le nom de mes variables...
mais il ne se passe toujours rien pour autant

pourtant je mets bien mon fichier .htaccess à la racine du site sous www

je ne comprends pas , c'est comme s'il ne prenait même pas en compte le fichier .htaccess...je suis sous un 90gp chez OVH... :? :?:

ce serait pas une histoire de register global à off ou un truc du genre ?
 
WRInaute discret
aucun rapport avec register_global

as-tu la possibilité de tester en local sur ton PC? tu pourrais dans ce cas voir les logs d'apache (notamment rewrite.log) pour voir s'il y a des erreurs

sinon je suppose que tu as bien modifié tes liens sur ton site avant de vérifier si l'URL rewriting fonctionne bien?
 
Nouveau WRInaute
Nouveau WRInaute
fichier .htaccess

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^inconnu\.html$ /test/test.html [L]

çà ca marchait bien ! c'est le truc de débutant expliqué dans webrank pour voir que ca fonctionne...la preuve en tapant http://www.tresordevie.com/test/inconnu.html
ce qui revient bien à http://www.tresordevie.com/test.html

voilà mon fichier .htaccess
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^suite-([0-9]+)-([a-z]+)\.html$ /suite.php3?num=$1&subcat=$2 [L]

c'est sur la suite des articles mis sur ce site où je voulais avoir une réécriture d'url comme par exemple sur cette url :
http://www.tresordevie.com/suite.php3?n ... raportable
quand je tape
http://www.tresordevie.com/suite.php3/n ... table.html
eh bien on voit bien...qu'il ne se passe rien :oops: :(

voili, je vous laisse constater de vous même cet étrange phénomène! je ne sais pas , c'est peut-être tout bête mais franchement je ne vois pas...

je reste ouverte à toutes vos suggestions... :D
et merci d'avance :wink:
 
Nouveau WRInaute
Bonjour et merci pour ces réponses,

mais comment arriver à ce genre d'url http://www.tresordevie.com/suite-379-ultraportable.html? quelle est alors la bonne syntaxe à mettre dans le fichier .htacess ?

ou faut-il que je change carrément mon code php et que je mette suite.php3 sous un nouveau dossier nommé "lamda" ? ca peut avoir une incidence ?

bon je continue de chercher, merci encore à tous pour vos éléments de réponse.... :D

emma
 
WRInaute passionné
ca marche!
il faut maintenant ajouter une redirection 301 de l'ancienne vers la nouvelle :
Code:
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{QUERY_STRING} ^num=([0-9]+)&subcat=([a-z]+)$
RewriteRule ^suite\.php3$ /suite-%1-%2.html? [R=301,L]
RewriteRule ^suite-([0-9]+)-([a-z]+)\.html$ /suite.php3?num=$1&subcat=$2&rewrite [L]
 
WRInaute discret
emmaweb a dit:
mais comment arriver à ce genre d'url http://www.tresordevie.com/suite-379-ultraportable.html? quelle est alors la bonne syntaxe à mettre dans le fichier .htacess ?
je pense que tu te poses la question dans le mauvais sens, c'est à toi de modifier tes liens dans ton code de sorte qu'ils ressemblent à ce type de lien: -http://www.tresordevie.com/suite-xxx-trucbidule.html

et ensuite ta règle de réécriture les transformera en
-http://www.tresordevie.com/suite.php3?num=xxx&subcat=trucbidule

cf webmasterlamogere pour la syntaxe du htaccess ;)
 
WRInaute passionné
en effet, il faut que les liens dans tes pages soit sous cette nouvelle forme. La redirection 301, c'est pour peaufiner et indiquer aux moteurs de recherche que ces pages sont renommées.
 
Nouveau WRInaute
Bonjour,

et un grand merci à webmasterlamogere pour la syntaxe du .htaccess qui fonctionne super bien!

et merci aussi à Lomic2, effectivement je me posais la question à l'envers, lol!!!
merci de m'avoir mis sur la bonne voie.

j'ai juste encore du mal à mettre plusieurs tirets dans la variable subcat au niveau du .htaccess mais je pense que je pourrais trouver tout çà dans de la documentation.

1000 merci à vous tous !! vous êtes super ! :D :D

Emma
 
WRInaute passionné
si tu veux accepter les - en plus des lettres il faut bien penser à mettre le - au début ou à la fin de la liste (c'est aussi un caractère spécial) :
[a-z-] pour accepter minuscules et -
[a-zA-Z-] pour accepter lettres et -
[a-z0-9_-] pour accepter minuscules chiffres _ et -
 
Discussions similaires
Haut