Seite 1 von 1

Statische Startseite ohne django ausliefern?

Verfasst: Dienstag 10. Februar 2009, 11:08
von metty
Hallo zusammen,

ich stehe momentan etwas auf dem Schlauch...
Ich entwickle eine Website mit django und komme sehr gut damit klar. Jetzt stehe ich jedoch vor einem Problem und habe eine Denkblockade...
Es gibt bei django ja die Möglichkeit kleinere Seiten wie z.B. "about" usw. via Flatpages auszuliefern, das ist für solche "kleinen" Zwecke auch ganz gut.

Jedoch möchte ich die Startseite, also die Seite die man direkt nach der Eingabe von "www.domain.de/" sieht ohne den "Umweg" django ausliefern.
Da die Seite nur statischen content enthält, ist eine Interaktion mit django nicht notwendig und würde der Performance vermtl. nur hinderlich sein.

Deshalb meine Frage, wie kann die Startseite (z.B. index.html) direkt vom Webserver ausliefern lassen?

Als Webserver ist Lighttpd im Einsatz.
Reicht es einfach die rewrite Regeln wie folgt anzupassen?

Code: Alles auswählen

url.rewrite-once = (
    "^(/media.*)$" => "$1",
    "^/favicon\.ico$" => "/media/favicon.ico",
    "^/index\.html$" => "/media/index.html",
    "^(/.*)$" => "/mysite.fcgi$1",
)
Vielen Dank für eure Antworten.

Verfasst: Dienstag 10. Februar 2009, 11:29
von Leonidas
Ja, mit Rewrite-Regeln ist das am einfachsten. Hast du schon mal ``^(/)$`` als Regel ausprobiert?

Verfasst: Mittwoch 11. Februar 2009, 16:51
von Silmaril
Leonidas hat geschrieben:Ja, mit Rewrite-Regeln ist das am einfachsten. Hast du schon mal ``^(/)$`` als Regel ausprobiert?
:shock: Den Spruch sollte man sich einrahmen lassen. Für mich als absoluter Laie steht dein zweiter Satz im krassen Gegensatz zum ersten. :wink:

(Aber ich will natürlich nicht bezweifeln, dass so ne Regel am einfachsten ist)

Verfasst: Mittwoch 11. Februar 2009, 16:55
von derdon
Django benutzt nun mal reguläre Ausdrücke beim URL-Dispatching, das Framework hast du dir ausgesucht :wink:

Verfasst: Mittwoch 11. Februar 2009, 18:43
von Leonidas
derdon hat geschrieben:Django benutzt nun mal reguläre Ausdrücke beim URL-Dispatching, das Framework hast du dir ausgesucht :wink:
An dieser Stelle kommt Django nicht einmal ins Spiel, das sind die Rewrite-Regeln des HTTPd. Und auch dort werden eben zumindest bei Lighty und Apache Reguläre Ausdrücke verwendet.

Die von mir vorgeschlagene Regel ist aber in der Tat simpel, ich habe einfach nur deine Beispiele genommen und den unnötigen Kram weggelöscht. ``^(/)$`` matcht den Anfang der Zeile, danach wird eine Gruppe definiert (würde wohl auch ohne Gruppe gehen) in der ein Slash stehen soll, danach kommt das Ende der Gruppe und es wird das Ende der Zeile gematcht. Also nichts speziell kompliziertes.