Subdomain-Route zum Unterordner mit htaccess in WordPress

8

Ich versuche, eine Subdomain zu erstellen sub.domain.com, die angezeigt wird, domain.com/subohne 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

J0ker98
quelle
Diese Regel sollte vor den WordPress-Regeln stehen und das LFlag sollte nicht gesetzt sein.
Arkascha
@arkascha hat die Frage bearbeitet, Ihre Lösung ausprobiert, aber sie funktioniert nicht
J0ker98
Können Sie Ihre Cpanel-Einstellungen überprüfen und auch die Site-Adresse überprüfen
Pratik Bhatt
@Pratikbhatt Ich benutze kein cPanel, ich bin auf Amazon AWS Lightsail mit einer Bitnami WordPress-Instanz
J0ker98

Antworten:

2

Sie müssen einen virtuellen Host in der Apache-Konfiguration erstellen.

<VirtualHost *:80>
    ServerName sub.domain.com
    DocumentRoot /var/www/sub
</VirtualHost>

Oder VirtualDocumentRootwenn mod_vhosts_alias aktiviert ist.

<VirtualHost *:80>
    ServerName sub.domain.com
    ServerAlias *.domain.com
    VirtualDocumentRoot /var/www/%1
</VirtualHost>

Oben zeige ich es auf das Verzeichnis / sub, falls es existiert. Starten Sie den Server nach allen Änderungen neu.

Abhishek Gurjar
quelle
1

Sie können die folgende Codezeile in Ihre wp-config.php-Dateien einfügen

define('WP_HOME','http://sub.domain.com');
define('WP_SITEURL','http://sub.domain.com');
Pratik Bhatt
quelle
Ich versuche nicht, die WordPress-Domain zu ändern. Ich möchte, dass mein WordPress in meiner Hauptdomain und in einer benutzerdefinierten Subdomain Inhalte aus einem Unterordner auf meinem Webserver
anzeigt