Estoy tratando de crear un subdominio sub.domain.com
que se muestre domain.com/sub
sin cambiar la barra de direcciones.
Se me ocurrió la siguiente regla .htaccess basada en otras preguntas hechas aquí:
RewriteCond %{HTTP_HOST} ^sub\.domain\.com$ [NC]
RewriteRule ^((?!sub/).*)$ /sub/$1 [L,NC]
El problema es que estoy usando una instancia de WordPress y mi .htaccess actualmente se ve así ahora:
# 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]
Pero cuando navego por sub.domain.com me redirigen a mi página de inicio (domain.com) desde WordPress. ¿Cómo puedo hacer esto correctamente?
Intenté cambiarlo a:
<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>
Pero todavía no funciona.
L
bandera.Respuestas:
Debe crear un host virtual en la configuración de apache.
O
VirtualDocumentRoot
si mod_vhosts_alias está habilitado.En lo anterior, lo estoy apuntando al directorio / sub si existe. Después de todos los cambios, reinicie el servidor.
fuente
Puede agregar la siguiente línea de código en sus archivos wp-config.php
fuente