RewriteRules für ViurtualHosts
Ergebnis 1 bis 5 von 5

Thema: RewriteRules für ViurtualHosts

  1. #1
    Jungspund
    Registriert seit
    20.03.2012
    Beiträge
    14

    RewriteRules für ViurtualHosts

    Hallo ihrs,

    da ihr mir beim letzten Problem so gut weitergeholfen habt, hoffe ich, ihr könnt mir bei folgendem Problem auch einen Tipp geben:
    Auf meinem Webserver lasse ich alle http-Anfragen, welche auf www.meinedomain.de eingehen, auf https weiterleiten.
    Dafür habe ich einen VirtualHost-Eintrag in der Apache-Conf erstellt:
    Code:
    <VirtualHost www.meinedomain.de:80>
            RewriteEngine On
            RewriteCond %{SERVER_PORT} !^443$
            RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L]
    </VirtualHost>
    Die Weiterleitung klappt soweit auch.
    Nun habe ich heute die Groupware-Software "Tine 2.0" testweise installiert. Ich wollte auch die Synchronisierung mit meinem Smartphone testen und habe versucht ActiveSync zum Laufen zu bekommen.

    Dazu müsste ich laut Dokumentation folgende Einträge einem VirtualHost hinzufügen:
    Code:
      RewriteEngine on
      RewriteRule /Microsoft-Server-ActiveSync(.*) /path/to/your/tine20_installation/index.php$1 [E=REDIRECT_ACTIVESYNC:true,E=REMOTE_USER:%{HTTP:Authorization}]
    Da ich natrülich nicht will, dass übertragenen Daten unverschlüsselt durchs Netz wandern, habe ich einen 2. VirtualHost-Eintrag folgendermaßen gesetzt:
    Code:
    <VirtualHost www.meinedomain.de:443>
            RewriteEngine On
            RewriteRule /Microsoft-Server-ActiveSync(.*) /path/to/my/tine20_installation/index.php$1 [E=REDIRECT_ACTIVESYNC:true,E=REMOTE_USER:%{HTTP:Authorization}]
    </VirtualHost>[/CODE]

    Nun funktioniert zwar ActiveSync, aber die Weiterleitung von HTTP zu HTTPS nicht mehr.
    Ich habe nun schon die halben Tag gegooglet, verschiedene Sachen ausprobiert, mich durch die Apache-Dokus versucht durchzufitzen, aber ich kriegs nicht hin.




  2. Inside Anonymous - Lesetipp zum Sonderpreis


     Inside Anonymous erzählt erstmalig die Geschichte dreier Mitglieder des harten Kerns:
    ihren Werdegang und ihre ganz persönliche Motivation, die sie zu überzeugten Hackern machte.
    Basierend auf vielen exklusiven Interviews bietet das Buch einen einzigartigen und spannenden
    Einblick in die Köpfe, die hinter der virtuellen Community stehen.
    Das Buch kostet bei terrashop.de jetzt statt 22,00 EUR nur noch 4,99 EUR.




    Jetzt bei terrashop.de anschauen – Nur solange der Vorrat reicht


  3. #2
    Routinier Avatar von dmaphy
    Registriert seit
    16.04.2004
    Ort
    Hamburg
    Beiträge
    482
    Ich denke ein VirtualHost der beide RewriteRules beeinhaltet sollte reichen und ist "sauberer":

    Code:
    <VirtualHost www.meinedomain.de:80 www.meinedomain.de:443>
    Wobei du den Port dann natürlich auch weg lassen können solltest, dann sieht das ingesamt wahrscheinlich so aus:

    Code:
    <VirtualHost www.meinedomain.de>
        RewriteEngine on
        RewriteRule /Microsoft-Server-ActiveSync(.*) /path/to/your/tine20_installation/index.php$1 [E=REDIRECT_ACTIVESYNC:true,E=REMOTE_USER:%{HTTP:Authorization}]
        
        RewriteCond %{SERVER_PORT} !^443$
        RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L]
    </VirtualHost>

    und aus dem Chaos sprach eine Stimme zu mir:
    "lächele und sei froh, es könnte schlimmer kommen..."
    und ich lächelte und war froh...

  4. #3
    Jungspund
    Registriert seit
    20.03.2012
    Beiträge
    14
    Ich wusste gar nicht, dass man 2 Domains in einen VirtualHost schreiben kann^^

    Naja, die Port-Angaben muss ich ja machen, weil ich ja bei Port 443 das SSL Zertifikat hinterlegt hab, oder geht das auch anders?
    Ich habe also VirtualHost für die SSL-Geschichte angelegt:
    <VirtualHost 123.123.123.123:443>
    hier die SSL-Einstellungen
    </VirtualHost>

    Und eine Mischung aus VirtualHosts ohne Portangabe und mit Protangabe ist ja nicht möglich, so wie ich das sehe.

    Wenn ich also die Domains wie in Variante 1 angebe und darunter die RewriteRules definiere, schmeißt mir Firefox die Meldung
    (Fehlercode: ssl_error_rx_record_too_long)

  5. #4
    Jungspund
    Registriert seit
    20.03.2012
    Beiträge
    14
    Vielleicht sollte ich generell erstmal erklären wie meine Struktur der Verzeichnisse / Subdomains aussieht:
    Ziel ist 1. alle Anfragen auf HTTP nach HTTPS umzuleiten.
    Da mein SSL-Zertifikat, welches ich von einer Trusted CA ausstellen lassen habe, nur für meine Domain "www.meinedomain.de" und "meinedomain.de" gilt, muss ich sicherstellen, dass alle Subdomains "http://beispiel1.meinedomain.de" und "https://beispiel1.meinedomain.de" nach "https://www.meinedomain.de/beispiel1" umgeleitet werden.
    Dazu habe ich bisher einen je VirtualHost "beispiel1.meinedomain.de" erstellt und einen "Redirect / https://www.meinedomain.de/beispiel1" gesetzt.
    Dann gab es aber noch subdomains, deren Redirect noch direkt auf eine php-Datei weitergeleitet wurde.

    So wie ich das sehe könnte man das allerdings wahrscheinlich alles über Rewrite Conditions und Rules in einem "globalen" <VirtualHost meinedomain.de> umsetzen, oder?

  6. #5
    Jungspund
    Registriert seit
    20.03.2012
    Beiträge
    14
    Ich habs nun gelöst gekriegt. Das Problem war, das ich einmal einen VirtualHost für die IP meines Servers und einmal einen Host auf www.meinedomain.de erstellt hatte, was ja doppel-gemoppelt war. Dadurch kamen sicher die RewriteRules und Conds durcheinander. Jedenfalls habe ich nun die namensbasierenden VirtualHosts rausgehauen und die Rules in die IP-basierten Hosts mit aufgenommen und siehe da: es funktioniert

    Und wieder was gelernt

Ähnliche Themen

  1. RewriteRules in .htaccess
    Von hehejo im Forum Web- & File-Services
    Antworten: 0
    Letzter Beitrag: 12.03.2007, 19:13

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •