Startseite
  • » Home
  • » Handbuch & FAQ
  • » Showroom
  • » Forum
  • » Drupalchannel
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Tipps & Tricks ›

Howto: Drupal mit und ohne ssl bei all-inkl

Eingetragen von jke@drupal.org (1)
am 09.01.2010 - 21:08 Uhr in
  • Tipps & Tricks
  • Drupal 6.x

Ich hab mich länger damit rumgeärgert,
bin endlich auf die Lösung gekommen
und möchte sie der Community nicht vorenthalten.

Problem:
Bei all-inkl laufen die ssl-Seiten über https://ssl-account.com/domain.de
Da Drupal alle Dateien absolut verlinkt ( /folder/file.name ),
versucht der Browser jetzt https://ssl-account.com/folder/file.name
was natürlich nicht existiert.

Mehrere $_SERVER-Variablen haben nicht funktioniert,
dank eines Tutorials von all-inkl (http://all-inkl.com/index.php?sek=anleitungen&a=skripte&b=xtcommerce-ssl)
zu xt commerce, kam ich jetzt noch auf die Idee, HTTP_X_FORWARDED_HOST auszuprobieren,
was endlich funktioniert.

Und so geht's:

1.

In der sites/xy/settings.php die Zeile

<?php
# $base_url = 'http://www.example.com';  // NO trailing slash!
?>

ersetzen durch
<?php
if($_SERVER['HTTP_X_FORWARDED_HOST'] == 'ssl-account.com') {
   
$base_url = 'https://ssl-account.com/domain.de';  // NO trailing slash!
   
$_SERVER['HTTP_HOST'] = 'ssl-account.com';
}
?>

2.
Bei Formularen zeigt das action-Attribut immer noch nach / und nicht nach /domain.de

Das scheint ein Fehler in Drupal selbst zu sein.
Um ihn zu beheben, muss man den Core hacken:

in der includes/form.inc.php die Funktion
theme_form suchen (in drupal 6.15 ab Zeile 2067).

Die komplette Funktion erstzen durch

<?php

function theme_form($element) {
 
$action = substr(base_path(), 0, strlen(base_path())-1);// add base path
 
$action = $element['#action'] ? 'action="'. $action .  check_url($element['#action']) .'" ' : '';
 
$action = str_replace('/'.$_SERVER['SERVER_NAME'].'/'.$_SERVER['SERVER_NAME'], '/'.$_SERVER['SERVER_NAME'], $action);// in some case, the base path now appears twice. Remove it!
  // Anonymous div to satisfy XHTML compliance.
 
return '<form '. $action .' accept-charset="UTF-8" method="'. $element['#method'] .'" id="'. $element['#id'] .'"'. drupal_attributes($element['#attributes']) .">\n<div>". $element['#children'] ."\n</div></form>\n";
}
?>

ersetzen.

Auf diese Weise funktioniert die Seite jetzt unter www.domain.de und unter https://ssl-account.com/domain.de

‹ Rund um das Modul WYSIWYG Eine Speisemenü nach bestimmte Datum erscheinen ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke

Eingetragen von Golem (31)
am 27.12.2011 - 22:53 Uhr

Ich muss diesen Beitrag nochmals hervorholen und mich ausrücklich dafür bedanken, da er mich nach Stunden des recherchierens endlich ein gutes Stück weitergebracht hat.

Im Großen und ganzen funktioniert diese Lösung recht gut. Jedoch habe ich noch zwei Probleme:

1. Unter der regulären Adresse (http) bekomme ich folgende Meldung angezeigt
"Notice: Undefined index: HTTP_X_FORWARDED_HOST in include_once() (line 249 of /www/htdocs/xyz/test/sites/default/settings.php).". Unter https erscheint diese Meldung hingegen nicht (funktioniert einwandfrei).

2. Ich versuche das Modul SecurePages zu verwenden. Das Zertifikat bzw. die obigen Einstellungen scheint dieses Modul jedoch nicht zu erkennen ("To start using secure pages this setting must be enabled. This setting will only be able to changed when the web server has been configured for SSL.
If this test has failed then go here"). Es lässt sich nicht aktivieren.

Vielen Dank im Voraus für Tipps!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Fataler Fehler nach update auf Drupal 6.24 wg fehlender Funktion in image.inc
  • meine Profilbesucher anzeigen?
  • Computed_Field Node Objekt bzw. nid?
  • URLs: Groß- und Kleinschreibung
  • Rules und Organic Group
  • [erledigt] drupal 7 - read more ausblenden
  • Modul für Absatznummern / Randnummern
  • Path-Based Metatags - wofür sind die gut?
  • Views Field Language (Spracherkennung der Felder) funktiniert nicht
  • [gelöst] Danland: Standard-Startseite formatieren
  • Aggregator Modul lässt sich nicht konfigurieren
  • Views Accordion - Header Elemente nebeneinander
Weiter

Neue Kommentare

  • Problem gelöst
    vor 1 Stunde 20 Minuten
  • ich könnte mir vorstellen
    vor 1 Stunde 21 Minuten
  • Ja und wie greife ich da auf
    vor 1 Stunde 29 Minuten
  • Unser Server kann das. Ich
    vor 1 Stunde 43 Minuten
  • Modul "User Relationships"
    vor 1 Stunde 44 Minuten
  • Ist der Host ein Windows-Host?
    vor 1 Stunde 50 Minuten
  • Du läßt Dir in der Zeile die
    vor 1 Stunde 56 Minuten
  • Patch aus Issue Queue
    vor 2 Stunden 18 Minuten
  • "Read more"-Link modifizieren
    vor 2 Stunden 22 Minuten
  • CSS mit body-Tag-Klasse präzisieren
    vor 3 Stunden 15 Minuten

Statistik

Beiträge im Forum: 173993
Registrierte User: 15484

Neue User:

  • Spearoth
  • bwvebb
  • drupal4normi

» Alle User anzeigen

User nach Punkten sortiert:
stBorchert5516
quiptime4713
Tobias Bähr3874
wla3809
md3777
bv3700
Thoor3678
Alexander Langer3282
dereine2635
Exterior2571
» User nach Punkten
Zur Zeit sind 6 User und 42 Gäste online.

Benutzer online

  • Spearoth
  • matrex
  • Antonio
  • Miguelito
  • Carsten Logemann
  • StevenB

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Showroom
  • » Forum
  • » Drupalchannel
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's
  • Bücherecke

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed Drupal Podcast
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association