Aller au contenu

Probleme d'url rewriting


Sujets conseillés

Salut,

j'utilise une réécriture d'url pour simuler la présence d'un fichier dans tous mes sous domaines mais qui en fait pointe vers un fichier présent sur mon domaine principal.

j'utilise donc la ligne de code suivante :

RewriteRule ^([0-9a-z-]+)/loader_frame.html$ http://www.onlc.fr/greybox/loader_frame.html [NC]

Pour tous mes sous domaines, la page "loader_frame.html" doit pointer sur -http://www.onlc.fr/greybox/loader_frame.html

Or quand j'utilise ce code, si je vais par exemple sur -http://sebastien.onlc.fr/loader_frame.html l'url du navigateur est redirigé sur -http://www.onlc.fr/greybox/loader_frame.html plutot que de garder -http://sebastien.onlc.fr/loader_frame.html dans la barre d'adresse.

Comment régler ce probleme ?

L'endroit ou j'ai placé ce code contené déja un .htacces, voici le fichier complet :

ErrorDocument  404 http://www.onlc.fr
RewriteEngine On
Options +FollowSymlinks
RewriteCond %{http_host} ^onlc.fr [NC]
RewriteRule ^(.*)$ http://www.onlc.fr/$1 [R=301,L]
RewriteRule ^([0-9a-z-]+)/loader_frame.html$ http://www.onlc.fr/greybox/loader_frame.html [NC]

Merci

Lien vers le commentaire
Partager sur d’autres sites

Je dirais que c'est normal, vu que tu utilises une URL complètement qualifiée vers www.onlc.fr/greybox/loader_frame.html pour ta redirection.

C'est donc vu par Apache comme une redirection externe, ce que montre bien ton navigateur.

Pour t'aider il faut savoir comment sont définis tes sous-domaines ...

Une erreur à corriger rapidement dans ton .htaccess : ta ligne ErrorDocument.

En mettant une URL complètement qualifiée, le code renvoyé sera 200 et non 404, tu risques donc des pénalités pour duplication de contenu à cause d'une mauvaise entête.

Fais le test avec l'analyseur d'entêtes du Hub: http://www.webmaster-hub.com/outils/http-viewer.php

Tu verras que n'importe quelle page qui n'existe pas renvoie une entête 200.

Lien vers le commentaire
Partager sur d’autres sites

Alors chaque sous domaine correspond à un dossier qui se trouve au meme niveau que le dossier www (contenant le domaine principal)

le htaccess se situ au meme niveau au le dossier www et les sous domaines

Pour schématiser on a :

web/www/(domaine principal qui contient le repertoire "greybox")

web/sousdomaine1/

web/sousdomaine2/

web/sousdomaine3/

...

web/.htaccess

Sinon pour le probleme du 404 comment le régler ?

Lien vers le commentaire
Partager sur d’autres sites

Sinon pour le probleme du 404 comment le régler ?

Avec un:

ErrorDocumet 404 /

tout simplement !

Que donne la ligne

print $_SERVER['DOCUMENT_ROOT'];

pour tes sous-domaines ?

Si les valeurs reportées sont différentes, tu ne pourras pas éviter la redirection externe, donc le navigateur montrera cette URL modifiée.

Une solution dans ce cas serait de faire un include() de ce fichier...

Lien vers le commentaire
Partager sur d’autres sites

Bon Dan,

htacess

ErrorDocument 404 /404.php

J'ai mis cela dans mon fichier 404.php

<?
header(
"Status: 301 Moved Permanently", false, 301);
header(
"Location:http://www.monsite.com");
exit();
?>

ca me renvoi don un 301, est ce correct de faire cela?

Merci Florent

Lien vers le commentaire
Partager sur d’autres sites

Techniquement ça ne devrait pas poser de problème, vu qu'une entête 404 a été envoyée pour la gestion de la page inexistante, mais pourquoi t'encombrer d'une page supplémentaire ?

Si à la rigueur tu stockais en base l'url appelée pour des statistiques cela pourrait se comprendre, mais en tant que tel, ça ne se justifie pas : le code de Dan fait tout aussi bien en une seule ligne.

A moins que tu ne veuilles rediriger vers un autre site ...

Lien vers le commentaire
Partager sur d’autres sites

effectivement un "ErrorDocumet 404 /" fait relativement bien l'affaire, disons que j'ai refondu un site et qu'il y a des pages qui vont arriver en 404 d'ou l'dée de faire une redirection 301 dan le fichier,...

par contre avec l'outil de test du hub ( voir son header) ca me renvoit 301 et non 4O4

Florent

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