
Durante los últimos 3 años he tenido 2 copias de mi sitio web Wordpress. Uno en www.domain.com y otro en dev.domain.com. Estoy intentando agregar un tercero hoy. ¡Parece bastante simple! Sigo todos los sencillos pasos de configuración y tan pronto como habilito el sitio, 301 me dirige al sitio www. No sé cómo solucionar el problema que activa el 301. ¿Está en algún lugar de Apache o Wordpress? Todo lo que sé es que estoy copiando toda la configuración del sitio de desarrollo y cambiando los nombres del subdominio y del directorio cuando corresponda. Parece que eso debería ser suficiente. Mis pasos:
- Abra dev2.domain.com en un navegador y vea la página predeterminada de Apache2
- Copie la carpeta de origen para /dev.domain.com -> /dev2.domain.com
- Copiar /etc/apache2/sites-available/dev.domain.com.conf -> dev2.domain.com.conf
- Ejecutar: sudo a2ensite dev2.domain.com.conf
- Ejecutar: recarga del servicio sudo apache2 (y/o reinicio; he probado ambos)
- Abra dev2.domain.com y obtenga el redireccionamiento 301 a www.domain.com
¿Hay alguna forma de descubrir definitivamente qué está causando el 301? Lo que es más confuso es que estoy creando este nuevo sitio en un subdominio copiando un sitio existente que se ejecuta en un subdominio. Simplemente no puedo entender cuál es la diferencia entre los dos.
Información de configuración obligatoria...
.htaccess idéntico en el directorio raíz de los 3 sitios (www, dev y dev2):
# 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
Options +Indexes
IndexOptions -FancyIndexing
Configuración de sitios disponibles para dev.domain.com...
<VirtualHost *:80>
ServerName dev.domain.com
ServerAdmin [email protected]
DocumentRoot /srv/dev.domain.com
<Directory />
Options All
AllowOverride All
Require all granted
</Directory>
ErrorLog /srv/dev.domain.com/logs/error.log
CustomLog /srv/dev.domain.com/logs/access.log combined
</VirtualHost>
Configuración de sitios disponibles para dev2.domain.com...
<VirtualHost *:80>
ServerName dev2.domain.com
ServerAdmin [email protected]
DocumentRoot /srv/dev2.domain.com
<Directory />
Options All
AllowOverride All
Require all granted
</Directory>
ErrorLog /srv/dev2.domain.com/logs/error.log
CustomLog /srv/dev2.domain.com/logs/access.log combined
</VirtualHost>
Configuración DNS en AWS Route53...
domain.com A 12.34.567.89
dev.domain.com A 12.34.567.89
dev2.domain.com A 12.34.567.89
www.domain.com CNAME domain.com
Supongo que las 2 cosas en las que estoy más estancado:
La configuración de Apache entre dev y dev2parecerser idéntico excepto cambiar "dev" -> "dev2" cuando corresponda
Cuando el sitio está deshabilitado en Apache, no es redirigido. La redirección sólo ocurre una vez que el sitio está habilitado. ¿Esto significa que es Wordpress?
Respuesta1
Todas sus configuraciones de Apache son precisas; Lo más probable es que su problema se deba a que el dominio se guardó en la base de datos de Wordpress. De forma predeterminada, Wordpress almacena la URL base en la tabla wp_options tanto para la página de inicio como para la URL del sitio. Además, almacena el dominio completo en todos los GUID de publicaciones/páginas individuales en la tabla wp_posts.
Opciones para buscar y reemplazar el dominio:
- lo más rápido: exporte la base de datos mysql, abra el volcado de la base de datos mysql en un editor de texto y realice una búsqueda global (para domain.com o dev.domain.com) y reemplácela con (dev2.domain.com), vuelva a importar.
- utilice una consulta SQL para buscar y reemplazar todas las instancias del dominio anterior con el nuevo subdominio.
Para obtener más información sobre cómo migrar un sitio de Wordpress de un dominio a otro, consulte la sección titulada "Cambiar el nombre de dominio y las URL" en la páginaMover la página del Codex de Wordpress