Frage zu mod_rewrite

  • Hallo liebe community,


    ich bastle gerade an einem redirect nur leider gelingt mir dieser nur zum Teil. Kurz zur Erklärung, Ziel ist es dass ich


    http://subdomain1.domain.tld
    auf http://subdomain2.domain.tld


    umzuleiten. Jedoch soll zusätzlich auch das folgende funktionieren:


    https://subdomain1.domain.tld
    auf http://subdomain2.domain.tld


    und genau bei dem 2. scheiters, meine .htaccess sieht im Moment so aus:


    Apache Configuration
    # Aktiviert mod_rewrite:
    RewriteEngine On
    
    
    
    
    RewriteCond %{HTTP_HOST} ^(subdomain1\.)?domain\.tld [NC]
    RewriteRule ^(.*)$ http://subdomain2.domain.tld/directory/ [R=301,L]


    kann mir hier jemand helfen? Wäre euch wirklich sehr verbunden, danke


    lg

  • Was hast du gegen

    Code
    Redirect permanent / http://subdomain2.domain.tld

    ?

    Mein Server:
    v(olks)Server 1. Serie: 2,5GHz, 1024MB RAM, 1024MB Swap, 2x60GB-Raid1-HDD, Traffic-Flat
    Node:
    78.46.117.9x | hos-tr2.ex3k4.rz7.hetzner.de

  • Zitat von sim4000;18785

    Frag doch als zweite Bedingung noch SERVER_PORT ab. :)
    http://httpd.apache.org/docs/2…_rewrite.html#rewritecond


    die Idee ist mir auch schon gekommen, jedoch bekomm ich das Statement irgendwie nicht richtig hin...


    Zitat von Artimis

    Was hast du gegen Code:
    Redirect permanent / http://subdomain2.domain.tld
    ?


    das möchte ich nicht, da sich beide subdomains am gleichen Server befinden und das RootDirectory auch das selbe ist, ich will lediglich die subdomain1 auf ein directory unter der subdomain2 zeigen lassen, --> die .htaccess liegt daher im RootDirectory und würde somit auf alle anderen subdomains die da drauf zeigen auch greifen, was ich eben nicht möchte...


    lg

  • Zitat

    beide subdomains am gleichen Server befinden und das RootDirectory auch das selbe ist

    Ist ein Argument dagegen ;)
    Aber bevor ich mir etwas mit den Subdomains fummeln würde, würde ich lieber einen zweiten vHost aufmachen und dort die Redirect hinterlegen.
    Aber ist jedem seine eigene Sache ;)

    Mein Server:
    v(olks)Server 1. Serie: 2,5GHz, 1024MB RAM, 1024MB Swap, 2x60GB-Raid1-HDD, Traffic-Flat
    Node:
    78.46.117.9x | hos-tr2.ex3k4.rz7.hetzner.de

  • das mit dem vHost hatte ich auch schon versucht, jedoch musste ich den vHost *:80 dann aufteilen auf 2 nämlich
    subdomain1.domain.tld:80 und
    subdomain2.domain.tld:80 und da hat mir dann apache ne Fehlermeldung geworfen von wegen der neue vHost wäre kein vHost... hatte keine Ahnung warum das so war...


    lg

  • Wie genau lautet denn die Fehlermeldung?


    vHost wäre kein vHost ist nicht grade gut beschrieben, deutet für mich aber drauf hin dass die Syntax einfach nicht stimmt.

  • Zitat von Servior;18807

    Wie genau lautet denn die Fehlermeldung?

    vHost wäre kein vHost ist nicht grade gut beschrieben, deutet für mich aber drauf hin dass die Syntax einfach nicht stimmt.



    Hey, kann ich dir im Moment nicht so genau sagen, werde das heute Abend nochmals versuchen und dir die Config inkl. Fehlermeldung posten. Dann sollte das einfacher nachvollziehen sein. Ja deutet sehr stark auf die Syntax hin, aber da das ganze im Prinzip nur copy/paste war, kann ichs mir irgendwie nicht erklären.

    lg

  • Zitat von djinty;18806

    das mit dem vHost hatte ich auch schon versucht, jedoch musste ich den vHost *:80 dann aufteilen auf 2 nämlich
    subdomain1.domain.tld:80 und
    subdomain2.domain.tld:80 und da hat mir dann apache ne Fehlermeldung geworfen von wegen der neue vHost wäre kein vHost... hatte keine Ahnung warum das so war...


    lg


    *:80 ist schon ok (wenn du nur eine IP hast). Du musst einfach zwei Blöcke damit anlegen, trägst aber einmal ServerName subdomain1.domain.tld und einmal ServerName subdomain2.domain.tld ein.

  • Zitat von Robert;18819

    *:80 ist schon ok (wenn du nur eine IP hast). Du musst einfach zwei Blöcke damit anlegen, trägst aber einmal ServerName subdomain1.domain.tld und einmal ServerName subdomain2.domain.tld ein.



    so ganz versteh ich das jetzt noch nicht wie du das meinst, ja ich hab nur eine IP, du meinst also ich soll den Servernamen in den gleichen vHost schreiben? oder einen 2. vHost anlegen der ebenfalls *:80 heißt und da den anderen Servernamen angeben?

    bei der 1. Variante würde ich jedoch nicht ganz verstehen wie ich nun die subdomain auf ein spezielles Verzeichnis umleite?

    lg

  • Zitat von Robert;18821

    Die zweite Variante, wie z.B: in diesem Beispiel. ;) Vergiss aber nicht, dass die vHosts mit Port 80 nicht für HTTPS funktionieren.



    ok danke das kann ich mal versuchen, bezüglich HTTPS, hier hätte ich vorgehabt, dass eine .htaccess Datei auf HTTPS prüft und dieses im Falle von HTTP dann erzwingt, das würde doch weiterhin funktionieren oder?

    lg

  • alles klar also mein Vorhaben funktioniert nun, habe jetzt 2 vHosts eingerichtet einen für HTTP und einen für HTTPS,


    kann es jedoch sein, dass der Apache deshalb (spürbar) langsamer wird?


    lg