Pijulí
Configuré WordPress en una PC dentro de mi LAN. Entonces puedo acceder desde la misma computadora con localhost/WordPress u otra PC en la LAN con IP/WordPress.
Configuré el enrutador para que el puerto 80 se redirija a la IP del servidor, pero si se carga una página desde fuera de mi LAN, no se pueden cargar CSS y JS porque la ruta es localhost en la configuración de WordPress. Si lo cambio a mi url freedns, digamos: myamazingurl.mooo.com, es accesible desde fuera de mi LAN y carga CSS y JS.
Ahora no puedo acceder a mi sitio web desde en el interior la LAN. ¿Hay alguna solución o arreglo para eso?
Leí sobre dnsmasq pero no tuve éxito.
Lafif Astahdziq
el problema principal es que wordpress usa la dirección del servidor de la base de datos.
WordPress usa la URL raíz de la opción llamada home
y siteurl
por lo tanto, si intenta acceder a WordPress fuera de su computadora, es posible que obtenga la ruta incorrecta para css y javascript.
necesita cambiar las opciones en setting
-> general
y complete el WordPress Address (URL)
y el Site address (URL)
con la ip de tu servidor
si desea obtener la ruta correcta sin redirigir, puede definir la URL raíz dinámica en wp-config.php
agregue este script debajo del define('ABSPATH', dirname(__FILE__) . "https://stackoverflow.com/");
/**
* get home url from absolute path
* @return string url to main site
* hello@lafif.me
*/
function get_dynamic_home_url(){
$base_dir = ABSPATH; // Absolute path
$doc_root = preg_replace("!${_SERVER['SCRIPT_NAME']}$!", '', $_SERVER['SCRIPT_FILENAME']);
$base_url = preg_replace("!^${doc_root}!", '', $base_dir);
$protocol = empty($_SERVER['HTTPS']) ? 'http' : 'https';
$port = $_SERVER['SERVER_PORT'];
$disp_port = ($protocol == 'http' && $port == 80 || $protocol == 'https' && $port == 443) ? '' : ":$port";
$domain = $_SERVER['SERVER_NAME'];
$home_url = "${protocol}://${domain}${disp_port}${base_url}";
return $home_url;
}
$url = get_dynamic_home_url();
define('WP_SITEURL', $url);
define('WP_HOME', $url);
-
El método de la dirección IP funciona bien para mí. No es necesario descargar nada.
– zeta
22 de octubre de 2019 a las 7:36
Echa un vistazo a la URL relativa Complemento de WordPress. Aunque el complemento está hecho para acceder a la página a través de IP desde la red local, el efecto debería ser el mismo. (Porque el principal problema es el cambio de URL)
La URL relativa aplica la función wp_make_link_relative a los enlaces (publicaciones, categorías, páginas, etc.) para convertirlos en URL relativas. Útil para los desarrolladores al depurar una instancia local de WordPress en un dispositivo móvil.
http://localhost:8080/wp/2012/09/01/hello-world/
se convertirá en /wp/2012/09/01/hello-world/
http://localhost:8080/wp/wp-content/themes/twentyeleven/style.css
se convertirá en /wp/wp-content/themes/twentyeleven/style.css
Luego, después de activar este complemento, simplemente puede acceder a su instancia local usando http://192.168.0.1:8080/wp/ en su iPad u otros dispositivos móviles sin tener estilos y problemas de navegación.
Una opción que encontré es editar el archivo /etc/hosts y redirigir la URL de freedns a mi localhost. Así que está funcionando ahora, pero no sé si es la forma correcta de hacer esto…
kwaka
Después de probar casi todo para resolver un desarrollador de WP y trabajar y deshacer, finalmente encontré la solución anterior. El complemento de URL relativa funciona de maravilla. Gracias por el consejo ByteHamster 🙂
ACTUALIZACIÓN: Después de probar esto no era exactamente lo que estaba buscando. Encontré una solución aquí: https://wordpress.stackexchange.com/questions/55239/cant-access-wp-site-over-wifi-network
A saber…
define( 'WP_HOME', 'http://' . $_SERVER['HTTP_HOST'] );
// or
// define( 'WP_HOME', 'http://' . $_SERVER['HTTP_HOST'] . '/path_to_dir' );
define( 'WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST'] );
// or
// define( 'WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST'] . '/path_to_dir' ); //this is the one that fixed my issue.
Ahora puedo ver el sitio de desarrollo en todo su esplendor en todos los dispositivos de la LAN.
¿Qué pasa con el uso de URL relativas? en vez de
http://localhost/myfile.css
==>/myfile.css
– ByteHamster
23 de febrero de 2015 a las 20:49
Creo que WordPress usa una URL base. Así que no sé si es posible. 🙁
– Pijulí
23 de febrero de 2015 a las 21:03