Anti typo-squatting et redirection

WRInaute discret
Bonjour à tous

Je possède un domaine exemple.fr. Afin d'éviter le typo-squatting, j'ai également acheté exemlpe.fr
Ces 2 domaines pointent au même endroit chez un même hébergement, mais seul le premier est réellement à utiliser. J'ai donc mis en place des ReWriteCond dans mon .htaccess pour rediriger automatiquement vers -www.exemple.fr si jamais l'internaute tape exemlpe.fr :

Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^exemple.fr$ [OR]
RewriteCond %{HTTP_HOST} ^exemlpe.fr$ [OR]
RewriteCond %{HTTP_HOST} ^www.exemlpe.fr$
RewriteRule ^(.*) http://www.exemple.fr/$1  [QSA,L,R=301]
(Je rajoute aussi automatiquement les "www." si jamais la page est chargée sans.)

Ca marche plutot bien :
- exemlpe.fr se transforme en www.exemple.fr
- exemlpe.fr/dossier/page.php se transforme en www.exemple.fr/dossier/page.php
- ...

Mais ça n'a pas l'air de marcher si je charge des fichiers spécifiques :
- exemlpe.fr/dossier/document.pdf reste exemlpe.fr/dossier/document.pdf !
Le document s'affiche correctement (puisque les 2 domaines pointent au même endroit), mais avec la mauvaise URL 8O


Vous avez une idée d'où ça peut venir ?
 
WRInaute passionné
Salut,

Enlève le $ à la fin de tes conditions.

3ul3r a dit:
Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^exemple.fr [OR]
RewriteCond %{HTTP_HOST} ^exemlpe.fr [OR]
RewriteCond %{HTTP_HOST} ^www.exemlpe.fr
RewriteRule ^(.*) http://www.exemple.fr/$1  [QSA,L,R=301]

$ signifie fin de chaîne de caractères.
 
WRInaute accro
C'est la fin du "host", donc c'est normal, et ce n'est pas trop ça le problème. D'ailleurs ça peut probablement être simplifié en une seule ligne RewriteCond %{HTTP_HOST} !^www.exemple.fr$

Tu n'aurais pas une autre RewriteRule ou RewriteCond avant d'arriver là, en particulier avec un -f dedans?

Jacques.
 
WRInaute discret
Autant pour moi, c'était un problème d'héritage des règles de réécriture. Ayant un .htaccess spécifique dans mon sous-dossier contenant les pdf, les ReWriteCond du htaccess racine n'étaient pas prises en compte.

Solution :

Code:
RewriteOptions inherit

:D
 
Discussions similaires
Haut