Drupal 7: Falscher Eintrag bei $baseurl läßt ctools stolpern

Drupal 7: Falscher Eintrag bei $baseurl läßt ctools stolpern

Kleine Ursache, große Wirkung: Nach dem Liveschalten einer neuen Kunden-Webseite sollte noch geschwind ein View geringfügig geändert werden. Eigentlich eine Kleinigkeit, die sonst keine zwei Minuten dauert. Aber diesmal kam es anders. Beim Speichern der Änderung in der Eingabemaske (ein via Javascript erzeugtes Overlay) kam diese Fehlermeldung:

An AJAX HTTP request terminated abnormally.

Debugging information follows. http://die-kundendomain.de//admin/structure/views/ajax...

StatusText: error

ResponseText:

ReadyState: 0

Die einzige Möglichkeit aus dem Dialog wieder rauszukommen, war ein Klick auf das "Abbrechen"-Kreuz oben rechts in dem Overlay. Was natürlich ziemlich unpraktisch ist, da der View damit nicht bearbeitbar war und diese seltsame, nichtssagende Fehlermeldung an zahlreichen Stellen auftrat. Da die Views in der Entwicklungsversion fehlerfrei funktionierten,  alle Module auf dem neuesten Stand waren und auch PHP die gleiche Version hatte, war die Sache zunächst rätselhaft und konnte nur mit den letzten Arbeitsschritten nach dem Übertragen der Seite aus der Entwicklungs- in die Produktivumgebung zusammenhängen.

Nach etwas Suchen war der Fehler dann schließlich rasch gefunden: Auf der Liveseite war in der htaccess die Regel zum Umschreiben des Domainnamen auf "mit www." eingeschaltet worden, so dass aus die-kundendomain.de immer www.die-kundendomain.de wurde.

 # To redirect all users to access the site WITH the 'www.' prefix,<br />
# (http://example.com/... will be redirected to http://www.example.com/...)<br />
# uncomment the following:<br />
RewriteCond %{HTTP_HOST} !^www\. [NC]<br />
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]<br />

In der settings.php von Drupal stand jedoch noch

$base_url = 'http://die-kundendomain.de'; // NO trailing slash!

also ohne vorangestelltes "www". Nachdem das in

$base_url = 'http://www.die-kundendomain.de'; // NO trailing slash!

geändert wurde, waren die AJAX-Fehler verschwunden.