Ergebnis 1 bis 9 von 9

Thema: Weiterleitung via htaccess bei nichtexsistierender Subdomain

  1. #1
    Community-Moderator & Contao-Urgestein Avatar von derRenner
    Registriert seit
    23.10.2012.
    Ort
    hoRn|waldviertel
    Beiträge
    2.860
    Contao-Projekt unterstützen

    Support Contao

    Standard Weiterleitung via htaccess bei nichtexsistierender Subdomain

    Hallo,

    ich bräuchte eine Weiterleitung an eine bestimmte Datei, wenn eine URL ein bestimmtes Wort beinhaltet.
    Konkret, wenn ein Name einer eingegebenen Subdomain nicht exsistiert, dann soll automatisch auf eine Seite mit gleichem Namen weitergeleitet werden. Wobei der Name der Seite bekannt ist und exsistiert.

    Beispiel:
    sub.domain.at wird im Browser eingegeben. Der link exsistiert nicht, die Subdomain exsistiert nicht, 'sub' wird als 'sub' erkannt und die Weiterleitung geht auf domain.at/sub.html
    subx.domain.at wird im Browser eingegeben. Der link exsistiert nicht, die Subdomain exsistiert nicht, 'subx' wird als 'subx' erkannt und die Weiterleitung geht auf domain.at/sub.html

    Ich hatte es schon als normale redirect permanent versucht, aber ich werde immer auf das customerpanel des Hosters weitergeleitet. Exsistiert die Subdomain, dann funktioniert ein redirect permanent.
    Gleiches gilt für diese Versuche:
    Code:
    RewriteCond %{HTTP_HOST} ^sub.domain.at$
    RewriteRule ^(.*)$ http://domain.at/sub.html/$1 [L,R]
    oder
    Code:
    RewriteCond %{HTTP_HOST} !^(subx\.)?domain.at$ [NC]
    RewriteRule ^(.*)$ http://domain.at/subx.html/$1 [L,R]
    Wenn 'sub' oder 'subx' als Subdomain im Hosting angelegt wird, dann klappt die Weiterleitung.

    Meine Vermutung ist, dass in der htaccess (ich verwende die Standard-htaccess unter /web) sich irgendwo was quer legt und meine Zeilen "aufhebt".

    Hat jemand eine Idee oder Hilfe für mich?
    Danke
    Grüsse
    Bernhard


  2. #2
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.077
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hast du für die Domain eine Catch-All Subdomain (Wildcard-Subdomain) angelegt und ebenso eine Wildcard im DNS, so dass auch jede Subdomain auf deinen Webspace und das Contao-Webverzeichnis geleitet wird? Denn was da nicht ankommt, kann auch mittels .htaccess nicht weitergeleitet werden.

  3. #3
    Community-Moderator & Contao-Urgestein Avatar von derRenner
    Registriert seit
    23.10.2012.
    Ort
    hoRn|waldviertel
    Beiträge
    2.860
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Vielleicht interpretiere ich deine Antwort falsch, aber ...
    Eigentlich sollte die Anforderung ja gar nichts mit einer vorhandenen Subdomain zu tun haben. Das Ziel sollte sein, dass wenn ich eine nicht exsistierende URL eingebe und diese ein bestimmtes Wort beinhaltet auf eine vorhandene, definierte Seite weitergeleitet wird.
    Also wenn zum Beispiel sub.domain.at nicht exsistiert, ich aber durch die Abfrage nach 'sub' erkenne, dass es diese URL nicht gibt, soll sie auf domain.at/sub.html weitergeleitet werden
    Grüsse
    Bernhard


  4. #4
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.077
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Du kannst ja in der .htaccess nur Requests bearbeiten, die du auch bekommst. Es muss also sichergestellt sein, dass der Request für sub.domain.at überhaupt auf das Verzeichnis weitergeleitet wird, in dem deine .htaccess (im Web-Verzeichnis deines Contao) liegt. Also muss

    1. im DMS deiner Hauptdomain domain.at ein A record drinstehen, der sagt, dass Requests für sub.domain.at an deinen Webserver gehen sollen. Die IP muss also dieselbe sein wie beim A record der Hauptdomain.
    2. Dein Webserver wissen, dass Requests für sub.domain.at in dein Verzeichnis geleitet werden sollen. Dafür ist dann entweder eine angelegte Subdomain sub oder eine Catch-All Subdomain erforderlich, die eben so eingestellt ist, dass Requests an sie in dein Verzeichnis geleitet werden. Alle Firmendomains anlegen wirst du nicht wollen, also bleibt nur die Catch-All, die einfach alle Requests für Subdomains bekommt, die nicht explizit angelegt wurden. Das geht aber auch nicht bei jedem Hoster.

    Ansonsten kommt so ein Request niemals bei dir an, so dass du ihn natürlich auch nicht bearbeiten kannst. Ebensowenig wie einen Request für microsoft.com oder was auch immer. Da kannst du ebenso gut auch Requests für microsoft.com in der .htaccess umschreiben in was immer du willst, es wird nicht funktionieren, weil solche Requests nicht bei dir eingehen, sondern bei Microsoft.

  5. #5
    Community-Moderator & Contao-Urgestein Avatar von derRenner
    Registriert seit
    23.10.2012.
    Ort
    hoRn|waldviertel
    Beiträge
    2.860
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ah OK, gut erklärt und super verständlich für mich! Danke

    Der Form halber möchte ich hier noch mitteilen, dass es bei meinem Fall (netcup.de) die Catch-All Variante scheinbar nicht vorhanden ist.... soweit ich das eruieren konnte.

    Aber es wäre auch dies keine Lösung für mich, da die Umleitung ja in jeweils unterschiedlichen aber bestimmten Seite erfolgen sollte.
    Und ja, du hast recht, jede Sub-Firmendomain möchte ich nicht anlegen

    Also mal abhakt und erledigt
    Grüsse
    Bernhard


  6. #6
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.077
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ich schau mal eben in mein Webhosting 8000 :
    Ok, das ging schnell: Bei der Erstellung einer Subdomain: "Geben Sie * ein, um eine Wildcard Subdomain zu erstellen."

    Das bringt dich ein Stück näher ans Ziel, denn das macht genau das was bei dir fehlt. Damit kämen die Subdomain-Requests in deinem Verzeichnis an und somit könntest du sie umschreiben. Ob das mit der URL-Anzeige dann irgendwie geht weiss ich aber nicht. Eventuell wenn man im Startpunkt keine URL einträgt?

  7. #7
    Community-Moderator & Contao-Urgestein Avatar von derRenner
    Registriert seit
    23.10.2012.
    Ort
    hoRn|waldviertel
    Beiträge
    2.860
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von tab Beitrag anzeigen
    Das bringt dich ein Stück näher ans Ziel, denn das macht genau das was bei dir fehlt.
    ... uiii - da hatte ich die Wildcard-Subdomain doch absolut nicht mit deiner genannten catch-all-subdomain in Verbindung gebracht
    Ja, das exsistiert auch im Paket 4000 und klappt echt gut! aber nur bedingt.

    • also ohne rewrite in der htacess passiert alles so wie's sein soll: sub.domain.at springt ins root, also /web und die url bleibt so im Browser stehen
    • beginne ich nun mit diversen Versuchen der rewriteRule, so passiert einiges aber leider noch immer nicht das was es soll


    Code:
    RewriteCond %{HTTP_HOST} ^sub.domain.at$
    #RewriteRule ^(.*)$ http://domain.at/sub.html$1 [L,R]
    » leitet in die domain.at/sub.html weiter (also, so wie gewünscht), aber die url im Browser ändert sich mit auf domain.at/sub.html


    Code:
    RewriteCond %{HTTP_HOST} ^sub.domain.at
    RewriteRule ^(.*) http://domain.at/sub.html [P]
    » bringt Error 500, weil lt. Recherche ein http:// fehlt
    » also habe ich ein http:// hinzugefügt
    Code:
    RewriteCond %{HTTP_HOST} ^http://sub.domain.at
    RewriteRule ^(.*) http://domain.at/sub.html [P]
    » diese aber leitet wieder in den root also /web um, dafür bleibt sub.domain.at im Browser als Url stehen.

    Dann hätte ich noch
    Code:
    RewriteCond %{HTTP_HOST} !^(sub\.)?domain.at$ [NC]
    RewriteRule ^(.*)$ http://domain.at/sub.html$1 [L,R
    » aber auch diese leitet in den root /web weiter und sub.domain.at bleibt im Brwoser als URL stehen


    Zur ersten Version, die auf die domain.at/sub.html als URL umschwenkt:
    die hilft insofern schon mal weiter, weil sie bei Eingabe von sub.domain.at richtig weiterleitet - aber ...
    Nun ja, ich grabe hier noch weiter im tiefen web und melde mich, sobald ich tatsächlich eine Lösung gefunden habe
    Grüsse
    Bernhard


  8. #8
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.557
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    In der RewriteCond Direktive musst Du die RegEx Syntax verwenden!

    Code:
    RewriteCond %{HTTP_HOST} ^(.+)\.domain\.at$ [NC] 
    RewriteRule ^(.*)$ https://domain.at/%1.html [R,L]
    Geändert von xchs (03.09.2019 um 18:16 Uhr)
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  9. #9
    Community-Moderator & Contao-Urgestein Avatar von derRenner
    Registriert seit
    23.10.2012.
    Ort
    hoRn|waldviertel
    Beiträge
    2.860
    Contao-Projekt unterstützen

    Support Contao

    Standard

    [QUOTE=xchs;510274]In der RewriteCond Direktive musst Du die RegEx Syntax verwenden!

    bringt leider auch nicht gewünschten Erfolgt - und verbleibt wie in meinem obersten Beispieles meines vorherigen Beitrages.
    » leitet korrekt weiter, aber die Url ändert sich im Browser auf domain.at/sub.html

    Code:
    RewriteCond %{HTTP_HOST} ^(sub\.)?domain.at$ [NC] 
    RewriteRule ^(.*)$ http://domain.at/sub.html [QSA,R=301,L]
    Grüsse
    Bernhard


Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

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