[gelöst] Pfadangaben für CSS und Javascript
am 25.06.2011 - 14:43 Uhr in
Ich arbeite momentan an der Migration einer Seite von Drupal 6 auf Version 7. Die meisten dabei auftretenden Probleme konnte ich bisher umschiffen, für eines konnte ich allerdings bis jetzt keine Lösung finden:
Im Drupal 6 werden Dinge wie CSS und Javascript per relativer Pfadangabe eingebunden, also beispielsweise "/modules/node/node.css", im Drupal 7 scheint sich dies geändert zu haben und ich habe plötzlich absolute Pfade, beispielsweise "http://example.com/sites/default/files/css/css_5XB5aQOGzDUVxnwtHDXg0AJDjmjZbe2Sh1K2BEkR5cM.css" (in dem Fall jetzt zusammengefasstes CSS, aber das sollte nichts zur Sache tun). Selbiges gilt für eingebundene Javascript-Dateien oder das Logo.
Problematisch wird das Ganze, wenn die Seite über SSL aufgerufen wird, da der Browser erkennt, dass nicht alle Dateien über SSL aufgerufen werden und deswegen anzeigt, die Verbindung wäre nicht verschlüsselt. Ich konnte bis jetzt nirgends einen Workaround oder eine Konfigurationsoption finden, um dieses Verhalten zu ändern. Am liebsten wäre es mir natürlich, wenn man das wieder auf relative Pfade ändern könnte, es würde aber wahrscheinlich auch reichen, wenn bei Aufruf über SSL automatisch https-Pfade generiert würden. Ist euch da eine Option bekannt?
- Anmelden oder Registrieren um Kommentare zu schreiben
hallo hosh je nach dem ob du
am 25.06.2011 - 16:28 Uhr
hallo hosh
je nach dem ob du die base_url im html gesetzt hast
(siehe http://www.w3schools.com/TAGS/tag_base.asp)
kannst du die pfade relativ halten
die entsprechende variable in drupal heisst
$base_path
gruesse
Hallo phpberlin, erstmal
am 25.06.2011 - 17:08 Uhr
Hallo phpberlin,
erstmal danke für den Tipp. Mir geht es allerdings weniger um die Möglichkeit, relative Links selbst zu setzen, das funktioniert bereits bestens, ein Link zum Login wird beispielsweise automatisch als "/user/login" gesetzt und nicht "http://example.com/user/login", mir geht es ausschließlich um die automatisch generierten Links zu den CSS- und Javascript-Files. Wir die Variable $base_path benutzt, um die zu generieren? Ich habe die Variable mal manuell gesetzt, im Drupal aber keine Veränderung was die Generierung der URLs angeht feststellen können.
Hat sich erledigt. Beim
am 27.06.2011 - 18:24 Uhr
Hat sich erledigt. Beim Durchgehen des Codes bin ich darauf gestoßen, dass Drupal die Variable $_SERVER['HTTPS'] verwendet, diese war in meinem Setup jedoch nicht korrekt gesetzt. Nach Korrektur funktionieren auch die Links korrekt.