Zum Auflösen von Staging-Pbs arbeite ich lokal mit dem tatsächlichen Namen der Produktionsdomäne, jedoch hinter einem Proxy, sodass die Drupal-Installation und die Webserverkonfiguration streng identisch sind (bei einigen Konfigurationen kann die IP-Überwachung je nach IP-Adresse unterschiedlich sein Produktion).
Ich hatte also einen Proxy, der auf http: //mydomain.local antwortete und auf http: //www.mydomain.tld vertrat , jedoch auf einer lokalen IP.
Mit Nginx, in lokaler vhost conf:
server_name mydomain.local;
set $proxied_server_name www.mydomain.tld;
set $proxied_cookie_domain mydomain.tld;
# then generic proxy conf
proxy_set_header Host $proxied_server_name;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# My param added for drupal absolute url construction
proxy_set_header X-Proxy-Host $host;
# For headers rewriting (Location or Refresh)
proxy_redirect http://$proxied_server_name/ http://$host/;
proxy_cookie_domain $proxied_server_name $host;
# and for drupal auth, with cookies without sub-domain
proxy_cookie_domain $proxied_cookie_domain $host;
Für den Proxy-Host, genau wie in der Produktion
server_name www.mydomain.tld;
Und in meiner settings.php
if (isset($_SERVER['HTTP_X_PROXY_HOST'])) {
$base_url = 'http://' .$_SERVER['HTTP_X_PROXY_HOST'];
}
Mit dieser Konfiguration kann ich alle Drupal-Dateien UND die Datenbank- UND Serverkonfiguration zwischen vielen Drupal-Installationen synchronisieren (in meinem Fall Entwickler und Produktion, könnte aber alles sein, was Sie wollen).