Estou tentando criar um subdomínio sub.domain.com
que é exibido domain.com/sub
sem 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
L
sinalizador definido.Respostas:
Você precisa criar um host virtual na configuração do apache.
Ou
VirtualDocumentRoot
se mod_vhosts_alias estiver ativado.Acima, estou apontando para o diretório / sub, se existir. Após todas as alterações, reinicie o servidor.
fonte
Você pode adicionar abaixo a linha de código nos arquivos wp-config.php
fonte