PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Webseite umleiten



dunervst
04.06.08, 12:37
Hi habe ein Fedora System mit Apache 2.x. Ich habe dort verschiedene Webseiten auf dem Server. Nun will ich eine SSL verschlüsselung einbauen und habe mir dafür selber Zertifikate erstellt. Das Zertifikat ist ausgestellt für z.B. www.domain.de. Wenn jetzt jemand die Webseite über domain.de aufruft, bekommt er Zertifikatsfehler angezeigt.
Ich würde das gerne so einrichten, das jeder der www.domain.de eingibt automatisch auf www.domain.de landet. Außerdem habe ich verscheidene Namen für domain.de. Wenn man über den namen domain2.de geht kommt man auf dem selben Documentroot raus. Würde den dann auch gerne auf www.domain.de umleiten.

Ich habe das bereits mit mod_rewrite probiert. Aber die Webseite wird nicht sauber geöffnet. Gibt es dafür noch andere Lösungen, oder ist Mod_rewrite die beste/einzige ? Wenn man dafür mod_rewrite nehmen sollte, wie muss die rewriterule in meinem Fall aussehen ?

RewriteEngine on
RewriteRule .* http://www.domain.de/

habe ich versucht. Geht aber nicht richtig. Von einer anderen Webseite auf einer anderen IP gehts. Aber im selben Documentroot wird die Seite nicht angezeigt. Hoffe man kann es verstehen.

marce
04.06.08, 12:43
"Geht nicht richtig" ist leider keine ordentliche Fehlerbeschreibung. Präzisiere das bitte ein wenig.

Hier solltest Du eigentlich in den Beispielen exakt das finden, was Du vermutlich suchst:
http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html

dunervst
04.06.08, 12:47
Geht nicht heiß, das sich die Webseite nicht öffnet sondern nur Fehler "Die Webseite kann nicht angezeigt werden" ausgespuckt wird. :)

Und unter dem Link habe ich mir ja die rewriterule die nicht geht rausgesucht.

So weit war ich auch schon.

Aber Danke für den Versuch einer Antwort.

marce
04.06.08, 12:57
was steht im Access- oder Error-Log, hast Du schon mal ein RewriteLog angelegt? Was sagt ein wget / curl von der Konsole - da bekommt man öfters genauere Infos, was denn so passiert...

Und wie bist Du auf die RewriteRule gekommen? Ich finde dort keine, die der Art ist, wie Du sie verwendest...

(und je nach dem - reicht Dir, je nach Konfiguration, evtl. auch ein einfaches redirect...)

dunervst
04.06.08, 15:16
Danke für deine Antwort.

Ja ein einfache redirect würde auch reichen. Ich habe den auch mal getestet, allerdings ohne erfolg. Passiert dasselbe wie bei mod_rewrite. er probiert die Seite scheinbar "1000x" zu laden. Ein Fehler taucht nicht auf. Am Ende erscheint nur Seite kann nicht angezeigt werden.

Nochmal ganz von vorn. Ich versuche jemanden der sich auf domain.de verbindet auf www.domain.de weiter zu leiten. er probiert sich auf dieselbe domain zu verbinden und das scheinbar immer wieder. Ist ja auch logisch.

Ich müsste also eine regel machen in der steht, nur wenn du das www nicht vorweg hast, dann leite um. Bzw. wenn der DNS Name nicht www.domain.de ist, dann leite um auf www.domain.de.

So müsste es aussehen. Nur wie schreibe ich das in mod_rewrite ?

marce
04.06.08, 16:40
Dann brauchst Du eine rewritecond - oder einen sep. VirtHost, der sich für die "mit ohne www" zuständig fühlt.

Pingu
04.06.08, 18:21
Dass Du keinen Log hast, glaube ich Dir nicht. Du hast nur den Rewrite-Log nicht eingeschaltet.

Außerdem, ist doch auch logisch, dass er es ständig probiert. Überleg mal. Es kommt eine Anfrage: Gib mir "/". Die trifft auf die Regel: Frage mal "www.example.com" Also Geht eine neue Anfrage an "www.example.com" mit "Gibt mir '/'". Die trifft auf die Regel: Frage mal "www.example.com". Kurzum: dieses Spielchen können wir jetzt für ewig und immer Spielen. Du musst also der Rewrite-Engine mitteilen, welche Regeln er NICHT umschreiben soll.

Wenn Du nicht weißt wie das geht, wäre eine andere einfache Lösung der Vorschlag von marce. So habe ich es zum Beispiel bei meinen Domains gelöst. Denn: http://no-www.org

PS: Für Beispiele gibt es eine RFC, die example.org, example.com vorschreibt.