J'ai une installation wordpress de Xampp locale que j'utilise comme une sorte d'intranet avec certaines personnes avec lesquelles je travaille. Je leur demande de pouvoir y accéder sur notre routeur LAN. J'ai constaté que je devais changer l'URL du site et les liens entre http: // localhost: 8080 et mon adresse IP http: //192.168. x.xx: 8080 pour les images et les CSS à afficher.
Cependant, j’ai constaté que lorsque nous sommes connectés à un autre routeur ou à mon routeur de voyage, cette adresse IP change et le rend évidemment inopérant sur le réseau local. Je ne veux pas vraiment chercher/remplacer et changer le nom du site chaque fois qu'un nouvel ordinateur et/ou serveur héberge le site local.
Question: Je suis donc vraiment intéressé de voir s’il existe un moyen de rendre l’URL du site/de la maison dynamique en fonction de l’adresse IP ou du nom d’ordinateur actuel de l’ordinateur hôte. Ou si je cherche le mauvais type de solution.
J'ai longuement cherché une solution à ce problème, mais je pense que mon problème est que je ne suis pas sûr des termes à rechercher - ou s'il existe une meilleure solution. J'espère que quelqu'un d'intelligent pourrait me diriger dans la bonne direction.
- Sur la base de mes recherches sur Internet, j'ai essayé plusieurs plugins - URL relatives et "URL relatives racines" dans l'espoir que cela corrige, mais cela n'a pas changé. -J'ai également défini une adresse IP statique dans mon routeur de voyage. Cependant, le problème persiste car il me faudrait changer l'adresse IP sur le site si l'ordinateur change. -J'ai aussi essayé ceci dans mon wp-config:
<?php
define('WP_HOME', 'http://' . $_SERVER['HTTP_Host']);
//add the next line if you have a subdirectory install
define('WP_SITEURL', WP_HOME . '/wordpress');
Si quelqu'un se trouve dans une situation similaire à la mienne, j'ai trouvé une solution en ajoutant:
/* That's all, stop editing! Happy blogging. */
/** Absolute path to the WordPress directory. */
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/');
/* THIS IS CUSTOM CODE CREATED AT ZEROFRACTAL TO MAKE SITE ACCESS DYNAMIC */
$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', './');
Dans le fichier wp-config.php, j'ai trouvé cette solution sur le site: http://davidmregister.com/dynamic-wp-siteurl/
Merci tout le monde!
D'habitude, j'évite tout simplement le problème à chaque fois que je crée un nouveau site wordpress:
define('WP_HOME', '/');
define('WP_SITEURL', '/');
wordpress utilisera des URL relatives à la racine pour tout. Facilite beaucoup la migration des sites vers d'autres domaines. Bien sûr, si vous accédez à votre site en utilisant un dossier (par exemple, " http: // <domaine>/blog "), vous pouvez les modifier en:
define('WP_HOME', '/blog/');
define('WP_SITEURL', '/blog/');
Pour les sites existants, assurez-vous que la base de données et les fichiers de thème/plug-in sont exempts d'URL absolues générées par wordpress à l'aide des anciennes valeurs WP_HOME et WP_SITEURL.
EDIT: juste pour clarifier, vous ajoutez ces définitions à votre wp-config.php.