Ich versuche, eine Subdomain zu erstellen sub.domain.com
, die angezeigt wird, domain.com/sub
ohne die Adressleiste zu ändern.
Ich habe mir die folgende .htaccess-Regel ausgedacht, die auf anderen hier gestellten Fragen basiert:
RewriteCond %{HTTP_HOST} ^sub\.domain\.com$ [NC]
RewriteRule ^((?!sub/).*)$ /sub/$1 [L,NC]
Das Problem ist, dass ich eine WordPress-Instanz verwende und mein .htaccess derzeit so aussieht:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
RewriteCond %{HTTP_HOST} ^sub\.domain\.com$ [NC]
RewriteRule ^((?!sub/).*)$ /sub/$1 [L,NC]
Wenn ich jedoch unter sub.domain.com surfe, werde ich von WordPress auf meine Homepage (domain.com) weitergeleitet. Wie kann ich das richtig machen?
Versucht, es zu ändern zu:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^sub\.domain\.com$ [NC]
RewriteRule ^((?!sub/).*)$ /sub/$1 [NC]
# BEGIN WordPress
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
</IfModule>
Aber es funktioniert immer noch nicht
L
Flag sollte nicht gesetzt sein.Antworten:
Sie müssen einen virtuellen Host in der Apache-Konfiguration erstellen.
Oder
VirtualDocumentRoot
wenn mod_vhosts_alias aktiviert ist.Oben zeige ich es auf das Verzeichnis / sub, falls es existiert. Starten Sie den Server nach allen Änderungen neu.
quelle
Sie können die folgende Codezeile in Ihre wp-config.php-Dateien einfügen
quelle