Rota do subdomínio para subpasta com htaccess no wordpress

8

Estou tentando criar um subdomínio sub.domain.comque é exibido domain.com/subsem alterar a barra de endereço.

Eu vim com a seguinte regra .htaccess com base em outras perguntas feitas aqui:

RewriteCond %{HTTP_HOST} ^sub\.domain\.com$ [NC]
RewriteRule ^((?!sub/).*)$ /sub/$1 [L,NC]

O problema é que estou usando uma instância do WordPress e meu .htaccess atualmente se parece com isso agora:

# 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]

Mas quando eu navego em sub.domain.com, estou sendo redirecionado para minha página inicial (domain.com) a partir do WordPress. Como posso fazer isso corretamente?


Tentou alterá-lo para:

<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>

Mas ainda não está funcionando

J0ker98
fonte
Essa regra deve vir antes das regras do wordpress e não deve ter o Lsinalizador definido.
Arkascha 6/12/19
@arkascha editei a pergunta, tentou a sua solução, mas ele não está funcionando
J0ker98
Você pode verificar suas configurações de cPanel e também verificar o endereço do site
Pratik Bhatt
@Pratikbhatt Não estou usando o cPanel, estou no Amazon AWS Lightsail com uma instância do Bitnami WordPress #
J0ker98

Respostas:

2

Você precisa criar um host virtual na configuração do apache.

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

Ou VirtualDocumentRootse mod_vhosts_alias estiver ativado.

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

Acima, estou apontando para o diretório / sub, se existir. Após todas as alterações, reinicie o servidor.

Abhishek Gurjar
fonte
1

Você pode adicionar abaixo a linha de código nos arquivos wp-config.php

define('WP_HOME','http://sub.domain.com');
define('WP_SITEURL','http://sub.domain.com');
Pratik bhatt
fonte
Eu não estou tentando alterar o domínio wordpress, eu quero ter o meu wordpress em meu domínio principal e um subdomínio personalizado exibindo o conteúdo de uma subpasta no meu servidor Web
J0ker98