Aller au contenu

comportement différent sur server différent


Sujets conseillés

Salut tout le monde !

Je viens de migré mon site de GoDaddy vers DreamHost, sans faire de la pub je dois quand même dire que je suis impressionné !

Voilà mais il y a une chose intéressant, c'est que mon fichier .htaccess et les réecritures url ne se comportent pas de la même façon que sur les serveurs GoDaddy, je comprends tout à fait que c'est surement du à un paramètre par défaut sur le nouveau serveur, mais je ne sais pas quoi faire pour redonner à mon site le même comportement qu'avant.

Un exemple:

je redirige les personnes de mon site de http://mydomain.com vers http://www.mydomain.com

MAIS, sur DreamHost, la réecriture ajoute index.php

Un autre exemple:

J'ai une réecriture qui permet l'url suivant:

www.mydomain.com/section

=> www.mydomain.com/section.html

Mais la réecriture m'amene vers: www.mydomain.com/section.php

Voici un extrait de mon htaccess, je serai reconnaissant d'avoir quelques points de vu sur ce qui cloche, juste un rappel donc sur GoDaddy tout fonctionner bien, donc à mon avis il y a un paramètre à changer, ce que j'ai déjà dan mon htaccess ne devrait pas être fausse...

Merci :)


Options -Multiviews
Options +FollowSymlinks
RewriteEngine on

RewriteCond %{HTTP_HOST} ^http://mydomain.com$

RewriteRule /?(.*) http://www.mydomain.com/$1 [R=301,L]

RewriteRule ^(.*)\.html$ http://www.mydomain.com/$1.php [nc]

RewriteRule ^section/$ /section [R]
RewriteRule ^section$ /section.html

Je pense que c'est a cause de cette ligne:

RewriteRule ^(.*)\.html$ http://www.mydomain.com/$1.php [nc]

On dirait qu'il me redirige vers le fichier php au lieu de rester sur .html et charger le fichier .php

Dernier soucis, à cause de la redirection non-www vers www je peux pas aller sur mes sub-domain...

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

Bonjour,

J'ai peine à croire que ce .htaccess ait marché chez GoDaddy... :whistling:

Voici déjà quelques remarques:

1. http:// ne fait pas partie de %{HTTP_HOST}.

2. une RewriteCond doit être immédiatement suivie de l'instruction à exécuter si la condition est réalisée

3.

RewriteRule ^(.*)\.html$ http://www.mydomain.com/$1.php [nc]

indique que tu veux une redirection 302 de ****.html vers ****.php.

4.

RewriteCond %{HTTP_HOST} ^mydomain.com$ 
RewriteRule ^(.*) http://www.mydomain.com/$1 [QSA,L,R=301]

ne créé pas de problème avec les autres sous-domaines.

Jean-Luc

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...