Message d'avertissement

The subscription service is currently unavailable. Please try again later.

Redirection

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour :)

J'ai installé drupal dans un sous domaine du style :
www.bonjour.salut.com
Et j'ai un nom de domaine du genre :
www.bonjour.com

Quand je fais une redirection de www.bonjour.com vers www.bonjour.salut.com, elle s'effectue bien, les liens fonctionnent, on peut naviguer dans le site, etc...

MAIS, impossible de s'identifier, de s'inscrire, et donc d'admin.
Je peux toujours le faire via www.bonjour.salut.com, mais pas via www.bonjour.com

Et donc la redirection, elle est bien jolie, mais elle sert un peu à rien :/

Donc voilà, je suppose qu'il y a un truc à faire dans drupal ou dans le .htaccess, mais je m'y connais pas super bien.

Quelqu'un peut-il m'aider/m'éclairer ?

Version de Drupal : 

OK on va travailler avec A et B.
B est l'endroit ou j'ai installé drupal.
B fonctionne très bien.

Maintenant, j'ai aussi A qui pointe vers B.
Mais A ne fonctionne pas bien.

Je peux m'identifier sur B, mais pas via A.
Pourtant la redirection de A m'amène bien sur B.
:s

C'est plus clair? :D

Bon, j'ai discuté sur irc dans le support, et y'a un dénommé "opi" qui m'a répondu.

En fait il faut activer les cookies de domaines différents, et ça, ça se fait dans :
sites/default/settings.php

Y'a une ligne à décommenter, et on remplace évidemment le site par le bon.

Voilà, comme ça ça à l'air simple, mais ça fait juste 1 semaine que je me pète les dents dessus.
J'espère que ça servira à d'autres ;)

Mmmh effectivement c'est pas une simple redirection, mais bien un proxy sur l'ancien site qui redirige toutes les requêtes vers le nouveau.
Je pensais que ça agissait de la même manière, désolé ^^'

D'ailleurs, dans un futur proche, plus qu'à faire fonctionne cette grml de redirection pour pouvoir se passer de ce proxy. Mais ça ça n'a rien à voir avec Drupal, et c'est une autre histoire.

Tu l'as faite comment ta redirection. Parce que techniquement si B fonction très bien et que tu rediriges de l'adresse A vers B, A n'est qu'un état transitoire interprété par le navigateur pour qu'il aille tout de suite sur B. Une fois ceci fait, A n'existe plus pour le navigateur et tout se passe comme si tu avais toujours été sur B.

La redirection c'était une simple redirection d'url, mais ça ne suffit pas.

Le problème venait du nom de domaine. Tiens, je te colles ce qui y a dans le settings.php :
/**
* Drupal automatically generates a unique session cookie name for each site
* based on on its full domain name. If you have multiple domains pointing at
* the same Drupal site, you can either redirect them all to a single domain
* (see comment in .htaccess), or uncomment the line below and specify their
* shared base domain. Doing so assures that users remain logged in as they
* cross between your various domains.
*/

Et c'était mon cas :)

Voilà, affaire résolue :)

Bon...
Finalement, non, le problème n'est pas résolu :'(

J'ai l'impression que ça marchait très bien, et puis y'a eu le changement d'heures, et le site a commencé à foirer à cause du module Date...
J'en ai profité pour passer à la version 6.20

Et depuis, il est à nouveau impossible de s'identifier à partir de l'autre url / domaine :'(

Quelqu'un à une idée?

Bonjour Simon,

Être sur deux domaines à la fois va te poser problème tant au niveau des sessions que du javascript (et ce pour des raisons de sécurité). De plus, ça va faire du duplicateContent pour certains moteurs de recherche.

Le plus simple, pour une "redirection" propre, c'et de configurer la zone DNS de ton domaine B afin qu'il pointe vers le même serveur que celui utilisé par ton domaine A. Tu édites ensuite ton Vhost de Domaine A pour lui ajouter un ServerAlias

En faisant ça, ton site s'affichera toujours en passant par "domaine B" mais on restera sur domaine B. Il faut donc ensuite que tu rajoutes une petite Rewrite dans ton htaccess ou ton virtual Host. Quelque chose du genre :

RewriteCond %{HTTP_HOST} !^domaineA [NC]
RewriteRule ^/(.*) http://domaineA/$1 [L,R=301]

Bref, pour résumer : configure ton domaineB pour qu'il pointe sur le même serveur que DomaineA, puis édite ton virtualHost de domaineA pour qu'il ressemble à ça :

    ServerName domaineA
    ServerAlias domaineB
    RewriteEngine On
    RewriteCond %{HTTP_HOST} !^domaineA [NC]
    RewriteRule ^/(.*) http://domaineA/$1 [L,R=301]

Ah mais je suis entièrement d'accord, c'est juste que je n'ai pas accès à cela.
Mais finalement j'ai résolu le problème à nouveau, comment avant, dans le settings.php
Mais dans la version 6.2 il est "légèrement" différent, il m'a fallu un temps dingue pour m'en rendre compte.
En fait :
$cookie_domain = 'mondomaine.com';
Il fallait faire :
$cookie_domain = '.mondomaine.com';
Notez le point devant.
Du coup ça refonctionne.
Il y a également tout un truc sur le reverse proxy que j'ai changé, toujours dans le même fichier.

Voilà ;)

Salut ... es tu sur que tu n'a change que ca ? Je pose cette question parce que j'ai exactement le meme probleme et que cette modification n'a aucun effet : je peux toujours pas me logger depuis le site B.
D'ailleurs ce qui est etrange (ou normal pour ceux qui comprennent), c'est que finalement tout se passe sur ce site B comme si les utilisateurs (admin inclu) n'avaient pas assez de droits pour acceder au site, parce qu'il n'y a pas de message d'erreur indiquant que le login ou password sont faux.

Salut,
Désolé pour la réponse tardive...

Oui j'ai changé que le settings.php, il faut bien décommenter les lignes et changer :
Le cookie domain :

$cookie_domain = '.mondomaine.com';

ET le truc sur le reverse proxy :

$conf = array(
'reverse_proxy' => TRUE,
'reverse_proxy_addresses' => array('a.b.c.d'),
);

a.b.c.d étant l'ip du site B évidemment.

Enfin voilà, mais c'est surtout cette histoire de "." devant le nom de domaine qu'il ne faut pas oublier qui a résolu mon problème j'ai l'impression... (j'avoue je bidouille).

Enfin voilà, perso la redirection url est 100% opérationnelle, je n'ai donc plus de reverse proxy, je ne peux donc plus vraiment faire de tests/aider désormais...

Bonne chance et bon courage ;)