Al mover un sitio WP, ¿por qué wp-admin redirige al sitio anterior?

16

Estoy en el proceso de mover un sitio WP de un host a otro. Copié la base de datos y todos los archivos, creé una nueva base de datos e importé la anterior. Luego cambié el archivo wp-config. La página de inicio se muestra bien, pero cuando intento acceder / wp-admin me lleva de vuelta al sitio anterior.

El nuevo sitio es un servidor de desarrollo donde planeo hacer cambios de estilo antes de poner en funcionamiento el sitio.

¿Qué me estoy perdiendo de esta transición? ¿Cómo consigo que el sitio responda correctamente a la URL del desarrollador?

fmz
fuente

Respuestas:

22

Si se trata de una única instalación de WordPress, hay un par de entradas en la base de datos con su dominio anterior. Específicamente, siteurly homedentro wp_options.

Dicho esto, si la URL del desarrollador es temporal, también puede establecer las siguientes dos constantes en wp-config.php:

define('WP_HOME', 'http://' . $_SERVER['SERVER_NAME']);
define('WP_SITEURL', WP_HOME . '/');

Siempre que WordPress esté instalado en la raíz de su sitio web.

Chotacabras
fuente
También necesitaría actualizar el guidpara cada uno wp_postsen caso de adjuntos, usando algo comoUPDATE wp_posts SET guid = REPLACE('<old_url>','<new_url>', guid)
Cyclonecode el
2
El GUID no debe cambiarse. Lea más aquí: codex.wordpress.org/Changing_The_Site_URL#Important_GUID_Note
NightHawk
4

No es un gran problema. Su base de datos contiene todos los enlaces anteriores que no se pueden convertir automáticamente. Hay dos tipos de soluciones para eso:

  1. En wp-config.phpagregar este código:

    define ('WP_HOME', 'http: //'. $ _SERVER ['SERVER_NAME']);
    define ('WP_SITEURL', WP_HOME. '/');
  2. Cambie el siguiente SQL reemplazando "oldurl" con el enlace anterior y "newurl" con el enlace actual:

UPDATE wp_posts SET guid = replace(guid, 'oldurl','newUrl'); 

UPDATE wp_posts SET post_content = replace(post_content, 'oldurl', 'newUrl'); 

UPDATE wp_links SET link_url = replace(link_url, 'oldurl', 'newUrl'); 

UPDATE wp_links SET link_image = replace(link_image, 'oldurl', 'newUrl'); 

UPDATE wp_postmeta SET meta_value = replace(meta_value, 'oldurl', 'newUrl'); 

UPDATE wp_usermeta SET meta_value = replace(meta_value, 'oldurl', 'newUrl'); 

UPDATE wp_options SET option_value = replace(option_value, 'oldurl', 'newUrl') WHERE option_name = 'home' OR option_name = 'siteurl';

Ejecute estas consultas SQL en su base de datos, cambiando el prefijo si tiene algo diferente a wp_.

Aakash Bhagat
fuente
2

El simple cambio de la URL del sitio en la configuración probablemente no actualizará todas las partes internas para crear un sitio de desarrollo que funcione para usted (a menos que el sitio sea bastante básico). Tendrá problemas con los datos serializados que no se muestran y los enlaces dentro de las publicaciones que apuntan al sitio anterior.

Sería más inteligente utilizar una herramienta de migración como Backup Buddy o Duplicator para crear una copia completa del sitio que se pueda volver a implementar en una nueva ubicación con una nueva URL. Al hacer esto, aún tendrá enlaces de trabajo dentro de las publicaciones, cualquier enlace de menú personalizado, etc. El uso de uno de estos también facilitará el lanzamiento de sus cambios. Simplemente empaque todo y vuelva a implementarlo en su sitio de producción cuando haya terminado.

Si no desea pasar el tiempo descargando / cargando todo nuevamente, simplemente puede migrar la base de datos usando algo como WP Migrate DB. Instálelo en su sitio de producción, exporte una base de datos con la nueva URL e importe la base de datos migrada a su desarrollador a través de phpMyAdmin o similar. Los enlaces codificados en su tema aún deberán actualizarse y su .htaccess deberá actualizarse si está instalando en una subcarpeta.

Cambie la línea RewriteBase a:

RewriteBase /yourfolder/

Y la línea que redirige a su index.php a:

RewriteRule . /yourfolder/index.php [L]
Sean Michaud
fuente
0

Debe cambiar la dirección del sitio (URL) y la dirección de WordPress (URI) a través del panel de administración antes de mover el sitio a otra URL.

En su caso, no puede hacer eso en un sitio en vivo, por lo que puede probar una herramienta como Buscar y reemplazar bases de datos para cambiar la URL de la base de datos del sitio de desarrollo.

También puede hacer referencia a Moving WordPress

Laxmana
fuente
0
  1. phpMyAdmin: vaya al wp_optionsconjunto de tablas homeurly siteurlcomo su nueva url
  2. Inicie sesión en su wp-adminpanel de control, vaya a setting->general cambiar la dirección de WordPress (URL) y la dirección del sitio (URL)
usuario8724101
fuente