Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 04/06/2015, à 12:34

anduriltdm

Redirection d'alias

Bonjour,

Je possède un serveur LAMP sous Ubuntu. Plusieurs virtual host sont dans le /home

J'ai un site stocké dans /home/exemple qui pointe vers exemple.com

J'ai des domaines exemple.net, exemple.org qui sont des alias de ce dossier.

Je voudrais que quand je tape exemple.net, on me redirige directement vers le site principal exemple.com. C'est à dire que dans le navigateur, on obtient l'adresse exemple.com et non exemple.net

J'ai essayé la ligne ci dessous dans la .htaccess (situé dans /home/exemple) mais le navigateur m'indique qu'il y a une boucle de redirection :

redirect 301 / http://www.exemple.com/

Merci.

Dernière modification par anduriltdm (Le 04/06/2015, à 12:50)

Hors ligne

#2 Le 04/06/2015, à 22:16

J5012

Re : Redirection d'alias

ce type d'alias doit figurer dans httpd.conf, attention à la syntaxe ...

Hors ligne

#3 Le 05/06/2015, à 06:50

bruno

Re : Redirection d'alias

@J5012 : à ma connaissance httpd.conf n'est plus utilisé sur Debian/Ubuntu depuis Apache 2.x. wink La configuration doit se faire dans les fichiers d'hôtes virtuels (sous /etc/apache2/sites-available).

@anduriltdm : effectivement ta ligne créé une boucle de redirection infinie : toute URL est redirigée vers exemple.com, qui donc elle me redirigée vers exemple.com et ainsi de suite…

Il faut que tu n'aies qu'un seul hôte virtuel pour les 3 domaines, des directives ServerAlias pour qu'Apache réponde indifféremment sur les 3 domaines, et que tu utilises des réécritures pour renvoyer exemple.net et exemple.org vers exemple.com  :

<VirtualHost *:80>
        ServerAdmin webmaster@exemple.com
        ServerName exemple.com
        ServerAlias exemple.net exemple.org 

        RewriteEngine on
        RewriteCond %{HTTP_HOST} ^exemple.net$ [OR]
        RewriteCond %{HTTP_HOST} ^exemple.org$
        RewriteRule ^(.*) http://exemple.com$1 [QSA,L,R=301]
 
        DocumentRoot /home/exemple
        <Directory /home/exemple> 
            …
            …                                                                                                                
        </Directory>  
</VirtualHost>

Si ce n'est déjà fait il faudra activer le module de réécriture pour que cela fonctionne:

sudo a2enmod rewrite

Dernière modification par bruno (Le 05/06/2015, à 16:23)

En ligne

#4 Le 05/06/2015, à 09:47

anduriltdm

Re : Redirection d'alias

Bonjour,

Voici mon le début de mon fichier sites-available :

<VirtualHost *:80>
SuexecUserGroup "#1017" "#1017"
ServerName exemple.com
ServerAlias www.exemple.com
ServerAlias exemple.net
ServerAlias www.exemple.net
ServerAlias exemple.fr
ServerAlias www.exemple.fr

RewriteEngine on
        RewriteCond %{HTTP_HOST} ^exemple.net$ [OR]
        RewriteCond %{HTTP_HOST} ^exemple.fr$
        RewriteRule ^(.*) [url]http://exemple.com[/url]$1 [QSA,L,R=301]

DocumentRoot /home/exemple/public_html

Le navigateur m'indique "ERR TOO MANY REDIRECT"

Dans la barre d'adresse, j'ai comme adresse :

http://exemple.fr/%5burl%5dhttp://exemple.com%5b/url%5d/%5burl%5dhttp://exemple.com%5b/url%5d/%5burl%5dhttp://exemple.com%5b/url%5d/%5burl%5dhttp://exemple.com%5b/url%5d/%5burl%5

Merci

Dernière modification par anduriltdm (Le 05/06/2015, à 09:48)

Hors ligne

#5 Le 05/06/2015, à 16:26

bruno

Re : Redirection d'alias

Attention au copier/coller à l'aveugle !

Des balises [ url ] on été ajoutés automatiquement par l'outil d'édition du forum, j'ai modifié mon message en #3 pour les enlever.

Et pense bien à supprimer ton .htaccess ou au moins la redirection qu'il contient.

En ligne

#6 Le 05/06/2015, à 23:37

J5012

Re : Redirection d'alias

J5012 a écrit :

ce type d'alias doit figurer dans httpd.conf, attention à la syntaxe ...

@bruno : c'etait pour le forcer à enfin lire les docs apache2, comme d'evidence il ne l'a jamais fait ...
esperons qu'avec tes explications ca le pousse à le faire, et pas seulement à copier coller sans comprendre ...

Hors ligne

#7 Le 06/06/2015, à 11:41

bruno

Re : Redirection d'alias

J5012 a écrit :

esperons qu'avec tes explications ca le pousse à le faire, et pas seulement à copier coller sans comprendre ...

J'en doute wink
En effet, je vois que mes conditions n'ont pas été adaptées pour prendre en compte la présence éventuelle de www dans le nom de domaine.

En ligne

#8 Le 08/06/2015, à 09:40

anduriltdm

Re : Redirection d'alias

Bonjour,

Tout d'abord merci pour vos réponses, j'ai ajouté ces 4 lignes sur mon fichier et ça fonctionne parfaitement. Pardon pour ma réponse tardive, mais j'ai pris le temps ce week end de lire la doc d'Apache comme vous me l'avez préconisé, notamment la fiche sur le mod_rewrite mais je n'ai pas trouvé le moyen de faire correspondre avec le "www" malgré mes tests en labo. neutral

Hors ligne

#9 Le 08/06/2015, à 11:26

bruno

Re : Redirection d'alias

Les règles de réécriture fonctionnent avec des expressions régulières de type PERL (en résumé). Cela peut paraître compliqué au premier abord, mais avec un peu de pratique, c'est très abordable pour cet usage.

ICI :

RewriteCond %{HTTP_HOST} ^exemple.fr$

la condition s'applique pour toute requête ou le nom d'hôte commence (^) par exemple.fr , et ne contient rien d'autre (fin de chaîne avec $)

Une règle légèrement modifiée :

RewriteCond %{HTTP_HOST} ^(www\.)?exemple.fr$

devrait correspondre à la fois au nom d'hôte exemple.fr et www.exemple.fr (le motif www. est présent 0 ou 1 fois)

En ligne