1. #1

    Registriert seit
    04.04.2017
    Beiträge
    14
    Thanked 3 Times in 3 Posts

    Standard htaccess - Subdomains

    Hallo Community.

    Weiss jemand, welchen Code / Inhalt die htaccess Datei braucht, um subdomains zu erzeugen?

    Folgender Code macht es zwar möglich, doch damit müsste ich für jede Subdomain ein neues Regelset erstellen:
    Code:
     RewriteCond %{HTTP_HOST} ^subdomain\.domain\.com$ [NC]
    RewriteRule ^((?!sub1/).*)$ /sub1/$1 [L,NC]
    Kennt jemand eine Regel/Code, der dies im Allgemeinen bewerkstelligt, damit dies für mehrere Subdomains gildet ?

    EDIT: Es geht darum, das die Subdomain also z. B. Sub.domain.de in der URL-Leiste bestehen bleibt.

    Also kein Redirect, sondern ein richtiges Rewrite.
    Geändert von Timori (17.04.2017 um 19:16 Uhr)

  2. #2
    Avatar von DMW007
    Registriert seit
    15.11.2011
    Beiträge
    6.080
    Thanked 9.118 Times in 2.995 Posts
    Blog Entries
    5

    Standard AW: htaccess - Subdomains

    Ich verstehe nicht richtig, was der Sinn davon sein soll. In der Regel wird unter einer Subdomain eine bestimmt Anwendung gehostet. Dafür erstellt man einen virtuellen Host, den man dementsprechend konfigurieren kann. Folgendes Beispiel leitet etwa alle Anfragen an subdomain1.domain.com in das Verzeichnis /var/www/domain.com/subdoman1/pub_html
    Code:
    <VirtualHost *:80>
        ServerName subdomain1.domain.com
        DocumentRoot /var/www/domain.com/subdoman1/pub_html
    </VirtualHost>
    Dementsprechend spezifiert man einzelne Subdomains, damit man sie separat konfigurieren kann. Beispielsweise könnte auf einer Subdomain eine PHP-Anwendung laufen, auf der anderen ein Python-Frontend, wiederum eine andere dient als Reverse Proxy zu einem anderen Server und so weiter. Was du vor hast, klingt eher nach einer Wildcard-Umleitung. Wenn du einen A-Record als * gesetzt hast, pointen alle Subdomains auf den Server. Möchtest du aus irgend einem Grund dynamisch massenhaft Subdomains erstellen - beispielsweise für einen Freehoster, bei dem der Nutzer sich wunschname.domain.com registrieren kann - lässt sich das mit einem entsprechenden regulären Ausdruck natürlich auch über eine ReWrite-Regel realisieren:

    Code:
    RewriteCond %{HTTP_HOST} ^([^.]+)\.domain\.com$
    RewriteRule ^/(.*)$           http://domain.com/handle-subdomain?host=%1&path=$1 [L,R]
    Eine Anfrage an test.domain.com würde damit auf http://domain.com/handle-subdomain?host=test landen.

    Sollte dies nicht die Lösung sein die du suchst, bitte mal genauer und konkreter beschreiben, was du machen willst bzw. zumindest was dabei heraus kommen soll.


  3. #3

    Registriert seit
    04.04.2017
    Beiträge
    14
    Thanked 3 Times in 3 Posts

    Standard AW: htaccess - Subdomains

    Ich bin Kunde bei einem Wehosting-Anbieter, habe jedoch (unendlich) Subdomains zur Verfügung. Dazu habe ich natürlich die Wildcard Subdomain auch auf den Haupteinstiegspunkt umgeleitet. Im Parallels Cpanel des Anbieters kann ich einfach über einen Button eine Subdomain erstellen lassen, die dann im Root Verzeichnis der Domain ".../" neben dem Hauptdomaineinstiegspunkt ("/httpdocs") einen eigenen Baum erstellt (dann z.B. "/subdomain.domain.de/).

    CMS Systeme wie Contao oder Wordpress erlauben es, das bei aktiver Wildcard Subdomain, automatisch Subdomains eingerichtet werden können, unabhängig des Parallels-Panel des Hosting-Anbieters. Dies funktioniert natürlich mit Contao hervorragend, in dem man einfach die entsprechende Subdomain im Backend einstellt.

    Mein Ziel:
    Wie kann ich ebenfalls "manuell" eine Subdomain erstellen? Und zwar mithilfe von htaccess, da ich die apache-Dateien nicht verändern kann.

    Was am Ende die htaccess tun soll:
    - Ich gebe ein: test.domain.de
    - Intern wird dann auf foldenden Ordner "weitergeleitet": http://domain.de/subdomains/test/(index.html o.ä.)
    Warum "weitergeleitet"? Weil ich nicht möchte, das der Nutzer dann in seiner Browserleiste "http://domain.de/subdomains/test/" sieht, sondern "http://test.domain.de".
    - Doch soll auch bei: test2.domain.de auf http://domain.de/subdomains/test2/ weitergeleitet werden, der Nutzer aber auch hier im Browser "http://test2.domain.de" zu sehen bekommen.

    Ich habe natürlich diverse Snippets z.B. bei Stackoverflow gefunden, doch diese können entweder dynamisch die URL erkennen (also ich gebe ein: test.domain.de und der Browser zeigt dann in der URL-Leiste: "http://domain.de/subdomains/test/"), oder, wie der obige Snippet, meinen Wunsch erfüllen, müsste aber für jede Subdomain den Code oben kopieren. Dies verlängert dann auf Dauer die Größe der htaccess-Datei.

    Ich suche also den möglichst dynamischen Weg mithilfe der .htaccess-Datei, mein Ziel zu erreichen, falls das geht. Ich kenne mich null damit aus.

    Der Sinn?
    Erstmal dies hinbekommen. Ich habe unter anderem vor, aus "lernteschnischen" Gründen, die funktionsweise eines CMS zu verstehen. Ich kann einfache CMS Dinge mit php umsetzen, doch eben diese "Multi-Site"-Features noch nicht. Auf den Punkt also: Es insteressiert mich einfach, wie so etwas umgesetzt werden kann.

    [GELÖST]:
    Mit dem folgenden Snippet werden alle Subdomain anfragen auf den Unterordner DOCUMENT_ROOT/subdomains/ umgeleitet:
    Code:
    RewriteEngine On
    RewriteCond %{ENV:REDIRECT_SUBDOMAIN} =""
    RewriteCond %{HTTP_HOST} ^([a-z0-9][-a-z0-9]+)\.jabosa\.de\.?(:80)?$ [NC] 
    RewriteCond %{DOCUMENT_ROOT}/subdomains/%1 -d 
    RewriteRule ^(.*) subdomains/%1/$1 [E=SUBDOMAIN:%1,L] 
    RewriteRule ^ - [E=SUBDOMAIN:%{ENV:REDIRECT_SUBDOMAIN},L]
    Die fettgedruckten Stellen müssen identisch bleiben, damit dies funktioniert.
    Geändert von Timori (18.04.2017 um 12:39 Uhr)

Ähnliche Themen

  1. .htaccess zu nginx
    Von IceNet im Forum Server-Administration
    Antworten: 1
    Letzter Beitrag: 22.09.2016, 19:17
  2. Was bringen tausende von Subdomains?
    Von MHRCube im Forum Internet und Technik
    Antworten: 1
    Letzter Beitrag: 03.03.2015, 16:05
  3. htaccess deny all außer DirectoryIndex
    Von bluedraqon im Forum Webmaster
    Antworten: 8
    Letzter Beitrag: 27.08.2013, 23:40
  4. Antworten: 0
    Letzter Beitrag: 25.08.2012, 09:55

Stichworte

Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.