WordPress默认安装好之后使用的是绝对路径,例如:安装的时候使用的是127.0.0.1的话,那么除了本机能正常访问之外,其他的ip访问都会出现问题。如下图:
因为在安装后,数据库中存储了之前安装时所使用的ip地址,并且在用户访问网站时,调用了该地址。
如果将数据库中该地址修改为当前服务器的ip地址10.1.1.177,那么页面能正常访问。
但是如果WordPress的IP需要不断的修改或者需要派发多个备份的话,那么就需要框架在调用时,使用相对地址或者能自动识别当前的ip地址。
查看网站的源代码发现网站includes/option.php文件中存在函数get_option,该函数通过参数名来获取数据库中wp_options中的字段。
现在的要求是能使得wordpress使用任何ip都能正常解析,那么可以在这个函数中判断参数为home或者siteul的请求,如有该请求不去查询数据库直接返回需要的地址。
将函数进行如下修改:在函数开始部分加上判断并设置动态的ip地址,如果网站设置在根目录则不需要后面的/wordpress目录,该目录根据实际情况设置。
修改完成之后再次访问之前的两个页面便能正常解析了。