我有一个本地Xampp wordpress安装,我正在使用它作为与我合作的一些人的内部网。我要求他们能够在我们的局域网路由器上访问它——我发现我需要更改网站url和链接http://localhost:8080 到我的IPhttp://192.168.x.xx:8080 用于显示图像和css。
然而,我发现,当我们连接到不同的路由器或我的旅行路由器时,这个IP会发生变化,显然会使它无法在LAN上工作。我真的不想每次新的计算机和/或服务器托管本地站点时都搜索/替换和更改站点名称。
问:所以我很感兴趣,想看看是否有办法使站点/主页URL与托管计算机的当前IP或computername动态关联。或者如果我正在寻找错误类型的解决方案。
我已经广泛地搜索了这个问题的解决方案,但我觉得我的问题是我不确定要搜索什么术语,或者是否有更好的解决方案。我希望聪明的人能给我指出正确的方向。
-基于我在互联网上的搜索,我尝试了几个插件——相对URL和“根相对URL”,希望它能解决问题,但没有起到任何作用-我也在我的旅行路由器中设置了一个静态IP地址-但是,问题仍然存在,如果计算机发生变化,我需要更改站点中的IP地址-我也在我的wp配置中尝试过:
<?php
define(\'WP_HOME\', \'http://\' . $_SERVER[\'HTTP_HOST\']);
//add the next line if you have a subdirectory install
define(\'WP_SITEURL\', WP_HOME . \'/wordpress\');
最合适的回答,由SO网友:Taberkinslaw 整理而成
如果有人遇到与我类似的情况,我会通过添加以下内容找到解决方案:
/* 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\', \'./\');
在wp配置中。phpI在网站上找到了此解决方案:
http://davidmregister.com/dynamic-wp-siteurl/谢谢大家!
SO网友:Jaded
每次创建新的wordpress网站时,我通常都会完全避免这个问题:
define(\'WP_HOME\', \'/\');
define(\'WP_SITEURL\', \'/\');
将导致wordpress对所有内容使用根相对URL。使站点迁移到其他域更加容易。Ofc,如果您使用文件夹(例如
http://<domain>/blog)您可以将其更改为:
define(\'WP_HOME\', \'/blog/\');
define(\'WP_SITEURL\', \'/blog/\');
对于现有站点,请确保数据库和任何主题/插件文件不受wordpress使用旧的WP\\u HOME和WP\\u SITEURL值生成的绝对URL的影响。
编辑:为了澄清,您将这些定义添加到wp配置中。php。