¿Es posible tener una URL de sitio relativa o dinámica en WordPress?

27 feb 2015, 02:20:43
Vistas: 16.7K
Votos: 6

Tengo una instalación local de WordPress en Xampp que estoy usando como una especie de intranet con algunos compañeros de trabajo. Requiero que puedan acceder a través de nuestra red LAN -- descubrí que necesitaba cambiar la URL del sitio y los enlaces de http://localhost:8080 a mi IP http://192.168.x.xx:8080 para que se muestren las imágenes y CSS.

Sin embargo, he notado que cuando nos conectamos a un router diferente, o a mi router de viaje, esta IP cambia y obviamente deja de funcionar en la LAN. Realmente no quiero hacer buscar/reemplazar y cambiar el nombre del sitio cada vez que una nueva computadora y/o servidor aloje el sitio local.

Pregunta: Estoy muy interesado en saber si hay alguna manera de hacer que la URL del sitio/inicio sea dinámica según la IP actual o nombre de computadora del equipo que lo aloja. O si estoy buscando el tipo de solución equivocada.

He buscado extensivamente una solución para esto, pero siento que mi problema es que no estoy seguro de qué términos buscar -- o si existe una mejor solución. Espero que alguien inteligente pueda orientarme en la dirección correcta.

-Basado en mis búsquedas en internet, he probado un par de plugins - Relative URLs y "Root relative URLS" con la esperanza de que solucionaría el problema pero no ha hecho diferencia. -También he configurado una dirección IP estática en mi router de viaje - sin embargo, el problema persiste ya que necesitaría cambiar la dirección IP en el sitio si la computadora cambia. -También he probado esto en mi wp-config:

<?php
define('WP_HOME', 'http://' . $_SERVER['HTTP_HOST']);
//agrega la siguiente línea si tienes una instalación en subdirectorio
define('WP_SITEURL', WP_HOME . '/wordpress');
2
Comentarios

Normalmente puedes solucionar estos problemas usando el archivo hosts, evitando la necesidad de una URL completamente diferente

Tom J Nowell Tom J Nowell
27 feb 2015 03:03:52

Gracias por el consejo, comenzaré a investigar en ese ámbito.

Taberkinslaw Taberkinslaw
27 feb 2015 04:46:40
Todas las respuestas a la pregunta 2
1
16

Normalmente evito el problema por completo cada vez que creo un nuevo sitio WordPress:

define('WP_HOME', '/');
define('WP_SITEURL', '/');

Esto hará que WordPress use URLs relativas a la raíz para todo. Hace que las migraciones del sitio a otros dominios sean mucho más fáciles. Por supuesto, si accedes a tu sitio usando una carpeta (ej. "http://<dominio>/blog") podrías cambiarlas a:

define('WP_HOME', '/blog/');
define('WP_SITEURL', '/blog/');

Para sitios existentes, asegúrate de que la base de datos y cualquier archivo de temas/plugins estén libres de URLs absolutas generadas por WordPress usando los valores antiguos de WP_HOME y WP_SITEURL.

EDIT: solo para aclarar, añades estas definiciones a tu wp-config.php.

19 feb 2016 23:12:44
Comentarios

¿No debería ser esta la respuesta aceptada?

Alexander Presber Alexander Presber
9 mar 2018 18:53:16
1

Si alguien por ahí tiene una situación similar a la mía, encontré una solución agregando:

/* ¡Eso es todo, deja de editar! Feliz blogging. */
/** Ruta absoluta al directorio de WordPress. */
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/');
/* ESTE ES CÓDIGO PERSONALIZADO CREADO EN ZEROFRACTAL PARA HACER EL ACCESO AL SITIO DINÁMICO */
$currenthost = "http://".$_SERVER['HTTP_HOST'];
$currentpath = preg_replace('@/+$@','',dirname($_SERVER['SCRIPT_NAME']));
$currentpath = preg_replace('/\/wp.+/','',$currentpath);
define('WP_HOME',$currenthost.$currentpath);
define('WP_SITEURL',$currenthost.$currentpath);
define('WP_CONTENT_URL', $currenthost.$currentpath.'/wp-content');
define('WP_PLUGIN_URL', $currenthost.$currentpath.'/wp-content/plugins');
define('DOMAIN_CURRENT_SITE', $currenthost.$currentpath );
@define('ADMIN_COOKIE_PATH', './');

En el archivo wp-config.php Encontré esta solución en el sitio: http://davidmregister.com/dynamic-wp-siteurl/

¡Gracias a todos!

1 mar 2015 01:24:48
Comentarios

¡Confirmado, funciona de maravilla!

crusaderky crusaderky
18 mar 2017 20:01:19