URL Rewriting OVH

  • Auteur de la discussion Auteur de la discussion Style
  • Date de début Date de début
  • Tags Tags
    ovh
Nouveau WRInaute
Bonjour,
apres lecture du dossier sur l'url rewriting et quelques posts sur le forum, je viens vous demander votre aide.(et passer par la meme pour un imbécile car je pose une question sur le B-A BA :oops: )
Voici mon htaccess

RewriteEngine on
RewriteRule ^index-([a-z]+)\.php$ /index.php?page=$1 [L]

Son but étant de rediriger www.monsite.com/index.php?page=truc vers index-quelquechose.php

Malheureusement celui-ci ne fonctionne pas. Je precise que je suis chez OVH sur un 60GP.
Merci d'avance.

Style
 
WRInaute impliqué
Salut,
Code:
RewriteEngine on
RewriteRule ^index-([a-z]+)\.php$ /index.php?page=$1 [L]
RewriteRule ^index.php?page=([a-z]+)$ /index-$1.php [L,R=301]

;)
 
WRInaute passionné
Style a dit:
RewriteEngine on
RewriteRule ^index-([a-z]+)\.php$ /index.php?page=$1 [L]

Son but étant de rediriger -www.monsite.com/index.php?page=truc vers index-quelquechose.php

Ton code est correct pour OVH, mais il redirige index-quelquechose.php verc -www.monsite.com/index.php?page=truc (et pas le contraire)...

Il faut que tu modifie manuellement toutes les url dans tes pages pour faire apparaitre index-quelquechose.php à la place de -www.monsite.com/index.php?page=truc

Cordialement,
 
Nouveau WRInaute
Bonjour Phobos et Jeroen
et merci beaucoup pour vos réponse si rapide ! :)
Effectivement j'ai inversé ce que j'ai voulu faire :/
mais si je modifie le htaccess je pourrais faire ce que je veux non ?
Merci :)


Style
 
WRInaute passionné
Question : qu'est ce que tu veux faire ??
Ton code est correct pour une rewriting classique, la deuxième ligne de Phobos semble (je savais pas qu'on pouvait chercher le query_string) correcte pour indiquer aux moteurs que les pages ont changées d'adresse...
 
WRInaute passionné
Style a dit:
j'ai donc un lien du style
index.php?page=truc et je voudrais pour le referencement avoir dans mon url index-truc.php

C'est donc l'inverse.... (tu n'a pas compris le rewriting)

dans tes pages, les adresses doivent donc être MODIFIEES A LA MAIN pour faire appaitre monsite.com/index-quelquechose.php

Lorsque Les internautes et les moteurs suivront le lien monsite.com/index-quelquechose.php, ton serveur leur enverra (de facon transparente) la page monsite.com/index.php?page=truc

Ton serveur rewrite donc monsite.com/index-quelquechose.php en monsite.com/index.php?page=truc
Code:
RewriteRule ^index-([a-z]+)\.php$ /index.php?page=$1 [L]
veut dire : si index-([a-z]+)\.php est demandée, je renvoie /index.php?page=$1 de façon transparente (l'adresse ne change pas dans le navigateur)

-------------------------
PS :
Si tes pages existent depuis longtemps et que les moteurs les ont déjà crawlées, il faut leur indiquer que les pages ont changées d'adresse, c'est la deuxième ligne de phobos qui fait ça (en plus de la première)
Code:
RewriteRule ^index.php?page=([a-z]+)$ /index-$1.php [L,R=301]
veut dire pour le serveur :
si index.php?page=([a-z]+) est remandée, il faut renvoyer index-$1.php en disant que la page a changée d'adresse (R=301, l'adrees change dans le navigateur)

C'est clair ??
 
Nouveau WRInaute
Merci beaucoup ! j'etais clairement a coté de la plaque.
Donc en faite je doit plutot mettre :

RewriteEngine on
RewriteRule ^([a-z]+)\.php$ index.php?page=$1 [L]

Ainsi lorsqu'on clic sur mon lien inscription.php cela va (en toute transparence sur index.php?page=inscription
C'est bien cela ? :)
Donc le $1 (de index.php?page=$1) correspond au ([a-z]+)\.php$ c'est bien cela ? :)

Merci beaucoup Jeroen !

Style.
 
WRInaute passionné
Style a dit:
Donc le $1 (de index.php?page=$1) correspond au ([a-z]+)\.php$ c'est bien cela ? :)

le $1 correspond à ce qu'il y a dans la parentaise n°1 : [a-z]+
C'est à dire (ici) : toute page à la racine du site, dont le nom est composé de minuscules (uniquement), et dont l'extensiion est .php
monsite.com/mapage.php -> monsite.com/index.php?page=mapage
Style a dit:
Merci beaucoup Jeoren !
Style.

Y'a pas de quoi :wink:
 
Nouveau WRInaute
Voila donc j'ai modifié mon htacess pour OVH (cf http://guides.ovh.com/HtaccessModRewrite/)ca me donne :

RewriteEngine on
RewriteRule ^/([a-z]+)\.php$ /index.php?page=$1 [L]


mais maintenant lorsque je tape www.monsite.com/inscription.php il me dise:
la page The requested URL /inscription.php was not found on this server.
Alors que il serait censé me rediriger vers :
www.monsite.com/index.php?page=inscription

J'avoue ne pas trop comprendre.

Y'a pas de quoi
Si tu as eu la patience et la gentilesse de me répondre ;) et ca c'est pas négligeable ! :)

Style
 
WRInaute passionné
Pourquoi t'a rajouté un / en début de règle ??

Le code correct c'est :

Code:
RewriteEngine on
RewriteRule ^([a-z]+)\.php$ /index.php?page=$1 [L]
 
Nouveau WRInaute
Car comme ceci :

RewriteEngine on
RewriteRule ^([a-z]+)\.php$ /index.php?page=$1 [L]

j'ai cett erreur :

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, tech@ovh.net and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

:oops:
 
WRInaute passionné
Salut Jeroen,
tu dis ceci
jeroen a dit:
Si tes pages existent depuis longtemps et que les moteurs les ont déjà crawlées, il faut leur indiquer que les pages ont changées d'adresse, c'est la deuxième ligne de phobos qui fait ça (en plus de la première)
Code:
RewriteRule ^index.php?page=([a-z]+)$ /index-$1.php [L,R=301]
veut dire pour le serveur :
si index.php?page=([a-z]+) est remandée, il faut renvoyer index-$1.php en disant que la page a changée d'adresse (R=301, l'adrees change dans le navigateur)
Est-ce que dans ce cas, le UR d'un forum phpBB peut éviter les problèmes de duplicate content en redirigeant en 301 toutes les url en viewtopic.php?t=XXX ?
 
WRInaute passionné
Dj_Apx a dit:
Salut Jeroen,
tu dis ceci
jeroen a dit:
Si tes pages existent depuis longtemps et que les moteurs les ont déjà crawlées, il faut leur indiquer que les pages ont changées d'adresse, c'est la deuxième ligne de phobos qui fait ça (en plus de la première)
Code:
RewriteRule ^index.php?page=([a-z]+)$ /index-$1.php [L,R=301]
veut dire pour le serveur :
si index.php?page=([a-z]+) est remandée, il faut renvoyer index-$1.php en disant que la page a changée d'adresse (R=301, l'adrees change dans le navigateur)
Est-ce que dans ce cas, le UR d'un forum phpBB peut éviter les problèmes de duplicate content en redirigeant en 301 toutes les url en viewtopic.php?t=XXX ?

Je suis pas sur que le query_string soit pris dans le rewrite...faut faires des essais...
sinon, pour eviter le duplicate content, au début de la page viewtopic.php, tu test le URI_REQUEST et tu renvoie via php un 301 sur la bonne page s'il n'est pas rewrité....

@Style :
je vois pas.

met une page trouve.html bidon à ta racine,
rajoute

Code:
RewriteRule ^nexistepas.html$ /trouve.html
dans ton .htaccess et appelle la page tonsite.com/nexistepas.html

Que se passe t-il ??
 
Nouveau WRInaute
Jeroen je te dit un GRAND MERCI :)
jai mis en faite :

RewriteEngine on
RewriteRule ^test-([a-z]+)\.php$ /index.php?page=$1 [L]

et desormais ca marche super ! :)
Merci beaucoup pour ta participation :)

Style
 
WRInaute passionné
ok, donc plus besoin de faire le test que je te précisais.
Je comprends par contre pas pourquoi ça marchait pas avant...

a+
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut