Problème de htaccess

Nouveau WRInaute
Bonjour à tous,

Je cherche à rediriger example.com/page1.htm vers example.fr mais aussi d'autres pages du type example.com/page2.htm vers example.fr/contact

Voici mon .htaccess plus explicite :

Code:
Options +FollowSymlinks
RewriteEngine on

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

RewriteCond %{HTTP_HOST} ^example.com/htfr/0003.htm$ [OR]
RewriteCond %{HTTP_HOST} ^www.example.com/htfr/0003.htm$
RewriteRule ^(.*) http://www.example.fr/art/plastique/$1 [QSA,L,R=301]

RewriteCond %{HTTP_HOST} ^example.com/htfr/0004.htm$ [OR]
RewriteCond %{HTTP_HOST} ^www.example.com/htfr/0004.htm$
RewriteRule ^(.*) http://www.example.fr/peinture/$1 [QSA,L,R=301]

RewriteCond %{HTTP_HOST} ^example.com/htfr/MentionsLegales.htm$ [OR]
RewriteCond %{HTTP_HOST} ^www.example.com/htfr/MentionsLegales.htm$
RewriteRule ^(.*) http://www.example.fr/mentions-legales/$1 [QSA,L,R=301]

RewriteCond %{HTTP_HOST} ^example.com/htfr/form-mes.htm$ [OR]
RewriteCond %{HTTP_HOST} ^www.example.com/htfr/form-mes.htm$
RewriteRule ^(.*) http://www.example.fr/contactez-nous/$1 [QSA,L,R=301]

RewriteCond %{HTTP_HOST} ^example.com/htfr/frameset2.htm$ [OR]
RewriteCond %{HTTP_HOST} ^www.example.com/htfr/frameset2.htm$
RewriteRule ^(.*) http://www.example.fr/$1 [QSA,L,R=301]

RewriteCond %{HTTP_HOST} ^example.com/htfr/frameset3.htm$ [OR]
RewriteCond %{HTTP_HOST} ^www.example.com/htfr/frameset3.htm$
RewriteRule ^(.*) http://www.example.fr/$1 [QSA,L,R=301]

RewriteCond %{HTTP_HOST} ^example.com/sites_data/eStaraGen.php?c=00309164&t=33389860387&m=6EF20154DC6C4FA263CF22849545B74C$ [OR]
RewriteCond %{HTTP_HOST} ^www.example.com/sites_data/eStaraGen.php?c=00309164&t=33389860387&m=6EF20154DC6C4FA263CF22849545B74C$
RewriteRule ^(.*) http://www.example.fr/musique/$1 [QSA,L,R=301]

Le problème donc c'est que les redirections donnent quelque chose du type : www.example.fr/htfr/form-mes.htm
Donc seul l'extension du domaine change !

Quelqu'un aurait-il rencontré ce cas ?

Merci d'avance,

-sam
 
WRInaute occasionnel
Salut !

A mon avis, tu devrais coller le bloc ci-dessous en dernier ...
Code:
RewriteCond %{HTTP_HOST} ^example.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.example.com$
RewriteRule ^(.*) http://www.example.fr/$1 [QSA,L,R=301]

Histoire que toutes les conditions cibles d'avant soit interprétées avant de tester la redirection vers le .fr ;)
 
WRInaute occasionnel
Hmm dernière tentative avant de laisser qlqun de plus expérimenté que moi.

Essaies ça et toujours en fin de fichier :
Code:
RewriteCond %{HTTP_HOST} !^www. [NC]
RewriteRule ^(.*)$ http://www.example.fr/$1 [R=301,L]
RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^www\.example\.fr
RewriteRule (.*) http://www.example.fr/$1 [R=301,L]

*Roulement de tambour* :p
 
WRInaute occasionnel
Si j'ai bien saisi ce que tu souhaites faire :

Code:
Options +FollowSymlinks
RewriteEngine on

# Changement d'extension
RewriteCond %{HTTP_HOST} ^www.exemple.com$
RewriteRule ^(.*) http://www.exemple.fr/$1 [QSA,L,R=301]

# Ajout du www. (anti DC)
RewriteCond %{HTTP_HOST} ^exemple.fr$
RewriteRule ^(.*) http://www.exemple.fr/$1  [QSA,L,R=301]

# Redirection propre des pages
RewriteRule   ^page1.html$   /  [L]
RewriteRule   ^page2.html$   /contact  [L]
...

Re-roulement de tambour :wink:
 
WRInaute occasionnel
Salut !

J'ai une question bête mais est-tu sûr qu'il n'y a pas une redirection serveur sur le .fr ou par l'interface back office de ton hébergeur ?

Cela court-court-circuiterait quoi qu'il arrive ton .htaccess du coup ;)
 
WRInaute occasionnel
Et puis qu'est ce qui ne marche ? Les redirections ? Une erreur 500 ?

Il faudrait donner un peu plus de détails si tu veux qu'on t'aide ;)
 
Nouveau WRInaute
lunicrea a dit:
Salut !

J'ai une question bête mais est-tu sûr qu'il n'y a pas une redirection serveur sur le .fr ou par l'interface back office de ton hébergeur ?

Cela court-court-circuiterait quoi qu'il arrive ton .htaccess du coup ;)

Désolé de ne répondre que maintenant mais pas mal débordé ces derniers jours :oops:

Non, il n'y a pas de redirection serveur sur le .fr.

Il s'agit d'un site hébergé chez 1and1 et le nom de domaine en .fr pointe vers un dossier du FTP.
 
Nouveau WRInaute
Amauri a dit:
Et puis qu'est ce qui ne marche ? Les redirections ? Une erreur 500 ?

Il faudrait donner un peu plus de détails si tu veux qu'on t'aide ;)

En fait, ce qui ne marche pas, c'est que j'ai une erreur 404 !
 
Discussions similaires
Haut