La imagen rota enlaza después de migrar un sitio de Drupal de la máquina local al servidor en vivo

StackOverflow https://stackoverflow.com/questions/1206874

  •  05-07-2019
  •  | 
  •  

Pregunta

¿Cuál es la forma más sencilla de actualizar las rutas de las imágenes después de migrar el sitio web de la máquina local a un servidor en vivo? La mayoría de las veces termino actualizando las rutas manualmente. Estoy convencido de que debe haber una forma más simple que me esté perdiendo.

Por favor sugerir.

¿Fue útil?

Solución

Mi conjetura es que el problema que está viendo es el resultado de no establecer la ruta de archivo en la administración. Si ingresa en la administración (admin / settings / file-system) y simplemente guarda la página, definirá el valor de la ruta de archivo (que debería eliminar los problemas).

También puede configurar todos los archivos para que utilicen el directorio predeterminado original (o local) también a través de esa interfaz.

El problema, en caso de que se lo esté preguntando, es que la llamada variable_get bajo el capó de la ruta de archivo es dinámica según el directorio de sitios desde el que está cargando el archivo settings.php. Una vez que se establece el valor, ya no recurre a la configuración predeterminada y usa su valor en su lugar.

Si estás moviendo físicamente los archivos desde la ubicación relativa en la que se encuentran localmente en el servidor, no estoy seguro de que haya una gran solución para ese problema.

Otros consejos

En realidad, tengo una configuración de varios sitios en la máquina local y una configuración de un solo sitio en el servidor en vivo que es lo que lleva a las imágenes rotas en la implementación. La forma más sencilla de solucionar este problema es actualizar la ruta del archivo en el servidor mediante una consulta SQL simple.  ACTUALIZAR los archivos SET filepath = REPLACE (filepath, 'old / path', 'new / path');

Cuando esto se rompió para nosotros, acabábamos de migrar de una instalación de Acquia Drupal 7 en un host local a una máquina de producción. Resultó que la configuración del servidor era lo suficientemente diferente como para que algunas de las rutas fueran incorrectas después de la importación de la base de datos.

Encontramos que haciendo un

select * from menu_router where path like '%sites/myoldpath%'

apareció una ruta para una page_callback llamada image_style_deliver que no era válida en el nuevo servidor.

update menu_router set path 'sites/mynewpath/files/styles%', tab_root = 'sites/mynewpath/files/styles/%' where path like '%myoldpath%'

Resultó ser la solución. Ni siquiera tuve que regenerar ningún contenido. Drupal se recuperó de inmediato y generó las miniaturas apropiadas en las carpetas correctas.

Moví un sitio del servidor de desarrollo local al servidor de desarrollo remoto. Todas las imágenes se rompieron. Incluso las nuevas imágenes que intenté cargar después del movimiento se mostraron como enlaces rotos. Finalmente, me di cuenta de que el permiso de mi sitio / DOMAIN_NAME / files había cambiado. Esa carpeta es la más ejecutable para los usuarios web, o de lo contrario Drupal no puede acceder a ella para recuperar los archivos dentro de esa carpeta.

La forma más sencilla de hacerlo que hice hace un tiempo en mi servidor es editar el archivo de volcado de la base de datos .sql usando la función de búsqueda y reemplazo para reemplazar el archivo o la ruta URL que desea del servidor antiguo al servidor nuevo. . Migré el sitio de mu drupal y descubrí que los enlaces estaban rotos y esto es lo que hice para resolver el problema. 1: desconecte el sitio 2: copia de seguridad de su base de datos utilizando SQL Server Dump. Eliminar la base de datos antigua.

3: use buscar y reemplazar para editar una copia del archivo de volcado de SQL y poner la ruta a la URL o los archivos que desee. En mi caso, quería editar el prefijo de URL de todos mis enlaces de imágenes desde, por ejemplo, http://my.oldserver.co .uk a http://newserver.ac.uk . 4 cree una nueva base de datos e importe el archivo .sql editado con los mismos nombres de db, nombres de usuario y contraseña.

  1. vuelva a poner el sitio en línea y viola, sus enlaces de imágenes están funcionando.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top