Ist es möglich, mit .htaccess eine Subdomain in ein Verzeichnis umzuschreiben?
Beispiel:
zeigt den Inhalt von
Ist es möglich, mit .htaccess eine Subdomain in ein Verzeichnis umzuschreiben?
Beispiel:
zeigt den Inhalt von
Versuchen Sie, dies in Ihre .htaccess-Datei aufzunehmen:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^sub.domain.com
RewriteRule ^(.*)$ /subdomains/sub/$1 [L,NC,QSA]
Für eine allgemeinere Regel (die mit jeder Subdomain funktioniert, nicht nur sub
) ersetzen Sie die letzten beiden Zeilen durch folgende:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(.*)\.domain\.com
RewriteRule ^(.*)$ subdomains/%1/$1 [L,NC,QSA]
http://test.domain.com
, leitet mich die URL weiterhttp://test.domain.com/subdomains/test/
. Ist es möglich, ohne das/subdomains/test/
am Ende zu zeigen?P
zusätzlich zu dem ein Flag angebenL
.http://test.domain.com/subdomains/test/
, wenn ich nur möchte, dass eshttp://test.domain.com/
test.domain.com/subdomains/test
- vielleicht ist hier noch etwas los. Können SieRewriteBase /
gleich danach hinzufügenRewriteEngine on
? Wenn Sie möchten, dass es weiterhintest.domain.com
angezeigt wird, müssen Sie mod_proxy und das[P]
Flag verwenden.Ich bin kein mod_rewrite-Experte, ich habe oft Probleme damit, aber ich habe dies auf einer meiner Websites getan. Je nach Ihren Umständen sind möglicherweise andere Flags usw. erforderlich. Ich benutze dies:
Alle anderen Umschreiberegeln für den Rest der Site müssen anschließend ausgeführt werden, um zu verhindern, dass sie das Umschreiben Ihrer Subdomain beeinträchtigen.
quelle
.htaccess
auf diese Seite kommt (wie ich), müssen Sie neben dem Erstellen der eigentlichen.htaccess
Datei auchAllowOverride
IhreVirtualHost
Einstellungen vornehmen ( stackoverflow.com/a/22819550/1657502 ) , damit sie wirksam wird. , aktivieren Sie das Apache-rewrite
Modul und starten Sie Apache neu ( stackoverflow.com/a/5758551/1657502 )www.
Präfix wird wahrscheinlich am besten über eine Umleitung als über ein Umschreiben unterstützt.Sie können die folgende Regel in .htaccess verwenden , um eine Unterdomäne in einen Unterordner umzuschreiben:
Zeile für Zeile Erklärung:
Die obige Zeile weist den Server an, die Engine zum Umschreiben von URLs einzuschalten.
Diese Zeile ist eine Bedingung für die RewriteRule, bei der wir mithilfe eines Regex-Musters mit dem HTTP-Host übereinstimmen. Die Bedingung besagt, dass wenn der Host sub.domain.com ist, die Regel ausgeführt wird.
Die Regel stimmt mit http://sub.domain.com/foo überein und leitet sie intern an http://sub.domain.com/folder/foo weiter .
Ersetzen Sie sub.domain.com durch Ihre Subdomain und Ihren Ordner durch den Namen des Ordners, auf den Sie Ihre Subdomain verweisen möchten.
quelle
Ich hatte das gleiche Problem und fand eine ausführliche Erklärung unter http://www.webmasterworld.com/apache/3163397.htm
Meine Lösung (der Inhalt der Subdomains sollte sich in einem Ordner namens befinden
sd_subdomain
:quelle
Dadurch wird in denselben Ordner zu einer Unterdomäne umgeleitet:
.httaccess
quelle
Versuchen Sie, diese .htaccess-Datei im Subdomain-Ordner abzulegen:
Es wird zu http://domain.com/subdomains/sub/ weitergeleitet , wenn nur http://sub.domain.com/ angezeigt werden soll.
quelle
Subdomain-Verzeichnis umleiten:
quelle
Verwenden Sie für jede Subdomain-Anfrage Folgendes:
Machen Sie einfach einen Ordner gleich dem Sub-Domain-Namen, den Sie benötigen. Der Ordner muss wie folgt vorhanden sein: domain.com/sub für sub.domain.com .
quelle