Schrift
[thread]512[/thread]

relative Pfade in Templates: CSS-Dateien einbinden funktioniert nicht



<< >> 5 Einträge, 1 Seite
baerli56
 2005-06-15 21:47
#5108 #5108
User since
2005-06-10
5 Artikel
BenutzerIn
[default_avatar]
Hallo,
möglicherweise irgendein "dummer" Fehler.

Unter C:/apachefriends/xampp/htdocs habe ich meine HTML-Dateien, die CSS-Dateien und die Bilder liegen.

Unter C:/apachefriends/xampp/cgi-bin liegen meine Perl-Scripte.

Die Ausgabe eines Templates geschieht stets unformatiert und ohne Einbindung der Bilder. Ich habe - glaube ich - alle Kombinationen versucht. Das Template unter cgi-bin oder unter htdocs. Anpassung der Links ../htdocs/ bzw. ../cgi-bin

Nur wenn ich den vollständigen Pfad eingebe, funktioniert es.
Das nütz mir aber nichts, wenn ich die Dateien auf den Server hochladen will. Wieso werden in einem Template relative Verweise auf einzubindendende Dateien nicht akzeptiert ?

Danke für Hinweise.
Ronnie
 2005-06-15 23:21
#5109 #5109
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
Die Pfade werden nicht relativ zu den Templates sondern relativ zur URL des CGIs betrachtet. Entweder du verwendest Pfade relativ zum DocRoot / (z.B: "/css/default.css") oder absolute Pfade. Du kannst auch deine CGIs in ein eigenes Verzeichnis unterhalb des DocRoots setzen und mit einer .htaccess-Datei festlegen das in diesem Verzeichnis CGIs verwendet werden können.
Dubu
 2005-06-15 23:24
#5110 #5110
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
Bei Links zaehlen URLs, keine Pfade im Dateisystem des Servers. Dem Dateisystempfad "C:/apachefriends/xampp/htdocs" entspricht (hoechstwahrscheinlich) der URL-Pfad "/", dem Dateisystempfad "C:/apachefriends/xampp/cgi-bin" entspricht wohl der URL-Pfad "/cgi-bin".  Entsprechend muessen die Pfade gesetzt werden.

Das heisst, wenn in einer HTML-Datei (egal wo sie liegt) ein Verweis auf ein Bild vorkommt und dieses Bild unter C:/apachfriends/xampp/htdocs/images/bild.jpg liegt, dann lautet der HTML-Code dazu <img src="/images/bild.jpg" width="..." height="..." alt="...">. Das ist eine relative URL (wenn auch ein absoluter Pfad darin) auf dem Server.

Uebrigens: Meiner Meinung nach haben Templates weder etwas in /htdocs noch in /cgi-bin verloren, sondern gehoeren in ein eigenes Verzeichnis, auf dass kein direkter Zugriff besteht.
GwenDragon
 2005-06-16 13:16
#5111 #5111
User since
2005-01-17
14748 Artikel
Admin1
[Homepage]
user image
[quote=Dubu,15.06.2005, 21:24]Uebrigens: Meiner Meinung nach haben Templates weder etwas in /htdocs noch in /cgi-bin verloren, sondern gehoeren in ein eigenes Verzeichnis, auf dass kein direkter Zugriff besteht.[/quote]
Also Sicherheitsfanatiker schon.

Sicher ist es sinnvoll die Templates in ein eigenes Verzeichnis zu tun. ZurSicherheit des Zugriffs reicht aber auch, den Zugriff auf die Templates mittels .htaccess zu verbieten.

Beispiel:
Code: (dl )
1
2
3
4
5
# falls die Templates die Endung .tmpl haben
<FilesMatch "\.tmpl">
order allow, deny
deny from all
</FilesMatch>
Strat
 2005-06-16 14:53
#5112 #5112
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
nebenbei: es gibt ein paar schoene optionen fuer new, wo man ein Template-Verzeichnis angeben kann... diese verwende ich recht gerne (z.B. path)
auch als ENV gibt's sowas, naemlich $ENV{HTML_TEMPLATE_ROOT} (das wiederum verwende ich nicht so gerne)
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
<< >> 5 Einträge, 1 Seite



View all threads created 2005-06-15 21:47.