Pregunta sobre Arreglando WordPress de Wordpress:

wp_options siteurl vs wp-config

Un usuario preguntó 👇

Ejecutando WP 5.0.2 con mysql en Ubuntu 16.04.

Implemento automáticamente mis instalaciones de WP personales y configuro el sitio web a través del método wp-config:

define( 'WP_HOME', 'http://example.com' );
define( 'WP_SITEURL', 'http://example.com' );

Recientemente me di cuenta de que recibía errores aleatorios al acceder al sitio a través de example.com. Todas las solicitudes de imágenes se redireccionarán y se producirán muchos errores de seguridad entre sitios. Tengo un segundo dominio (digamos example2.com) que redirige a example.com… pero el sitio solo debe ejecutarse en example.com.

Inicialmente, cuando configuré el sitio, estaba usando example2.com como el principal … pero cambié de opinión y actualicé los scripts de adquisiciones para usar example.com en su lugar.

por lo que WP_HOME / SITEURL primero fue configurado por wp-config.php a example2.com y luego cambiado a example.com. La base de datos (SELECT * FROM wp_options WHERE option_name='siteurl';) todavía se planea usar example.com y se generan ciertos tipos de URL (por ejemplo, para recursos de imagen) usando la URL de la base de datos como la URL original en lugar de la URL de wp-config.php.

Así que el sitio se ejecuta bajo example.com pero se solicitan muchos recursos de example2.com… que redirecciona a example.com para que no se dé cuenta al principio… pero muchos pequeños problemas salen a la luz rápidamente.

¿Es esto un error o no entiendo la prioridad de los diferentes sitios?

La IU (Configuración> General) ha pegado los campos de texto de ubicación / inicio y muestra los valores de wp-config.php … pero la base de datos no.

Por supuesto, solo puedo agregar un poco de mysql a mi provisión para asegurarme de que el campo de la base de datos esté actualizado … pero parece que los valores en wp-config y / o la configuración deberían tener prioridad actualizar db.

El mismo problema con la elección de la casa.
SELECT * FROM wp_options WHERE option_name='home';

Este tema fue modificado hace 2 años por.

(@jakept)

Hace 2 años

Del código:

Establecer este valor en wp-config.php excede el valor de la tabla wp_options Sitio URL. Agregar esto puede reducir la cantidad de llamadas a la base de datos mientras carga su sitio.

Entonces por definición WP_SITEURL está escribiendo el valor en la base de datos. La URL se utiliza en la constante y en la base de datos para la misma.

Si está viendo solicitudes de imágenes de una URL diferente, probablemente sean imágenes en publicaciones que se guardaron antes de que se cambiara la URL. Cuando agrega una imagen a una publicación, la URL completa de las imágenes se guardará y esta URL no cambia cuando usa la constante o cuando cambia la configuración de la base de datos.

Para cambiar las URL antiguas dentro de su contenido, debe buscarlas y reemplazarlas por una nueva. Consulte esta sección del códec para conocer las opciones.

(@mattpr)

Hace 2 años

Gracias por la rápida respuesta.

El cambio se realizó en el sitio / inicio antes de que se lanzara el sitio. Sin páginas, sin publicaciones, sin imágenes.

Muchos de los errores están relacionados con problemas de secuencias de comandos entre sitios … con la carga de JavaScript de WordPress desde el dominio antiguo en lugar del nuevo dominio.

Este cambio se realizó hace meses y solo comenzamos a trabajar en el sitio … pero también hice una limpieza de caché / cookies para asegurarme.

Verifiqué con mysql que el valor en la base de datos para su sitio y hogar eran los valores anteriores y no reflejaba lo que estaba en wp-config.php. es decir, la base de datos nunca se actualiza cuando los valores se establecen en wp-config.php. Entonces surge el problema porque wp parece usar el valor db en lugar del valor en wp-config.

Todos los problemas se resolvieron inmediatamente actualizando manualmente estos valores en la base de datos a los valores correctos.

Entonces entiendo que es un error de algún tipo. Usted esperaría:

– si vars se establece en wp-config.php, entonces los valores de db se ignoran o – el valor de db se usa en todo el mundo, pero cuando se establece vars en wp-config.php, el valor de db se actualiza.

Supongo que la mayoría de los usuarios de wp simplemente están arreglando esto en la base de datos a través de la página Configuración> General… que supongo que no está rota.

Otra cosa que pensé … estoy conectando estas definiciones a wp-config.php a través de mis scripts de aprovisionamiento. Tal vez se incluya después de la require_once para wp-settings.php causando un problema? ¿Quizás wordpress funciona como se esperaba y mis definiciones no se recopilan de wp-config por alguna razón? No creo que el orden de las definiciones en ese archivo sea tan grande, pero eso también explicaría. Por otro lado … la página Configuración> General muestra las casillas de inicio / configuraciones en gris y muestra los valores de wp-config.php y no de db. Así que sigue pensando que algo anda mal aquí.


/* ... */
/** Sets up WordPress vars and included files. */
require_once(ABSPATH . 'wp-settings.php');
define('WP_HOME', 'http://www.example.com');

define('WP_SITEURL', 'http://www.example.com');
/* EOF */

La instalación original se realizó con lo que fuera en el último WP estable el 29 de octubre. Control directo: 4.9.8. El cambio de dominio se realizó poco después. Actualicé a 5.0.2 esta semana (desde la interfaz de usuario de wp-admin) antes de comenzar a desarrollar el contenido del sitio. Así que esto puede ser un error de la versión pre5.

¿Solucionó tu problema??

0 / 0

Deja una respuesta 0

Tu dirección de correo electrónico no será publicada.