URL relativa o dinamica del sito è possibile?

27 feb 2015, 02:20:43
Visualizzazioni: 16.7K
Voti: 6

Ho un'installazione WordPress locale su Xampp che utilizzo come una sorta di intranet con alcuni colleghi. È necessario che possano accedervi tramite il nostro router LAN - ho scoperto che devo cambiare l'URL del sito e i link da http://localhost:8080 al mio IP http://192.168.x.xx:8080 affinché immagini e CSS vengano visualizzati.

Tuttavia, quando ci connettiamo a un router diverso o al mio router da viaggio, questo IP cambia e ovviamente il sito smette di funzionare sulla LAN. Non vorrei dover fare search/replace e cambiare il nome del sito ogni volta che un nuovo computer e/o server ospita il sito locale.

Domanda: Mi piacerebbe sapere se esiste un modo per rendere dinamico l'URL del sito/home in base all'IP corrente o al nome del computer host. O se sto cercando il tipo sbagliato di soluzione.

Ho cercato molto una soluzione a questo problema, ma credo che il mio problema sia non sapere quali termini cercare - o se esiste una soluzione migliore. Spero che qualcuno più esperto possa indicarmi la direzione giusta.

- In base alle mie ricerche, ho provato alcuni plugin come Relative URLs e "Root relative URLS" sperando risolvessero, ma non hanno fatto differenza. - Ho anche impostato un indirizzo IP statico nel mio router da viaggio - tuttavia, il problema persiste perché dovrei comunque cambiare l'indirizzo IP nel sito se cambia il computer. - Ho anche provato questo nel mio wp-config:

<?php
define('WP_HOME', 'http://' . $_SERVER['HTTP_HOST']);
// aggiungi la riga seguente se hai un'installazione in sottodirectory
define('WP_SITEURL', WP_HOME . '/wordpress');
2
Commenti

Di solito puoi aggirare questi problemi usando il file hosts, evitando completamente la necessità di un URL diverso

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

Grazie per il suggerimento, inizierò a esplorare questa possibilità.

Taberkinslaw Taberkinslaw
27 feb 2015 04:46:40
Tutte le risposte alla domanda 2
1
16

Di solito evito completamente il problema ogni volta che creo un nuovo sito WordPress:

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

farà sì che WordPress utilizzi URL relativi alla root per tutto. Questo rende molto più semplice la migrazione del sito su altri domini. Ovviamente, se accedi al tuo sito utilizzando una cartella (es. "http://<dominio>/blog") potresti cambiarli in:

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

Per i siti esistenti, assicurati che il database e qualsiasi file del tema/plugin sia privo di URL assoluti generati da WordPress utilizzando i vecchi valori di WP_HOME e WP_SITEURL.

MODIFICA: giusto per chiarire, aggiungi queste definizioni al tuo wp-config.php.

19 feb 2016 23:12:44
Commenti

Non dovrebbe essere questa la risposta accettata?

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

Se qualcuno si trova in una situazione simile alla mia, ho trovato una soluzione aggiungendo:

/* That's all, stop editing! Happy blogging. */
/** Percorso assoluto alla directory di WordPress. */
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/');
/* QUESTO È CODICE PERSONALIZZATO CREATO DA ZEROFRACTAL PER RENDERE DINAMICO L'ACCESSO AL SITO */
$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', './');

Nel file wp-config.php Ho trovato questa soluzione sul sito: http://davidmregister.com/dynamic-wp-siteurl/

Grazie a tutti!

1 mar 2015 01:24:48
Commenti

Confermato, funziona perfettamente!

crusaderky crusaderky
18 mar 2017 20:01:19