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


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.


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');

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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.