我最近在我的wamp服务器上设置了wordpress,当通过localhost加载网页时,它将始终完全加载整个页面但是当我尝试通过任何其他计算机访问网页时(即使计算机连接到LAN) )它只会像HTML模板一样渲染,不渲染图片,只有框轮廓,
网站上似乎没有加载css文件,但后来我想知道为什么它可以在本地主机上运行。
我已经尝试从wordpress.org重新安装wordpress,并完全查看说明并试图在网上寻找一些答案,但是空白了
计算机信息:
WAMP服务器 Dreamweaver
*在网站设置期间问题可能来自Dreamweaver吗?
答案 0 :(得分:12)
我今天看到的问题非常类似于Mediawiki。您可能已使用127.0.0.1
或localhost
作为IP地址配置Wordpress,而不是实际 IP地址。
您必须在wp_options
表格中进行更改,您需要更改两个条目:
选项ID 1 - siteurl - 将http://localhost/
更改为http://<your local ip>
;
选项ID 36 - 主页 - 将http://localhost/
更改为http://<your local ip>
答案 1 :(得分:5)
主要问题是因为wordpress使用数据库中的服务器地址,wordpress使用名为home
和siteurl
的数据库选项中的根URL,所以如果你尝试在他们的计算机外访问wordpress,它可能会得到css和javascript的路径不正确。
如果您希望在不进行重定向的情况下获得正确的路径,则可以在wp-config.php
在define('ABSPATH', dirname(__FILE__) . '/');
/**
* 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['HTTP_HOST'];
$home_url = "${protocol}://${domain}${disp_port}${base_url}";
return $home_url;
}
$url = get_dynamic_home_url();
define('WP_SITEURL', $url);
define('WP_HOME', $url);
我认为这适用于http://localhost/
,http://localhost/wp/
,http://127.0.0.1/
或http://yoursite.dev/
答案 2 :(得分:1)
使localhost安装在网络上的其他计算机上工作的方法需要做一些事情。
localhost需要专用地址IP或虚假域名。
需要使用该地址配置WordPress
需要告知其他机器该地址的位置,通常在主机配置文件中,如
192.168.30.1 wp.dev
其中上面是使用WAMP分配给localhost的网络IP,而wp.dev是伪开发域。 这几乎需要在所有机器上设置,以便他们知道主机所在的位置。
答案 3 :(得分:0)
听起来我的主题是图像/样式表等资源的路径不正确。
我认为这会导致你遇到的那种问题。您应该发布您正在使用的代码部分(在您的主题中)来加载图片/ CSS之类的内容。
答案 4 :(得分:0)
您必须通过wordpress管理员访问权限在管理页面内配置常规选项表格,并用正确的信息替换localhost网址。
例如,将localhost
替换为http://my-site.my-domain
。如果没有域,则在页面代码中使用本地主机名,这就是为什么您无法从其他计算机访问的原因。因此,在5分钟的安装wordpress之后,网站网址的管理页面配置是必需的。