Wordpress 只会在 localhost 上完全加载
Posted
技术标签:
【中文标题】Wordpress 只会在 localhost 上完全加载【英文标题】:Wordpress will only fully load on localhost 【发布时间】:2013-12-16 20:16:43 【问题描述】:我最近在我的 wamp 服务器上设置了 wordpress,当通过 localhost 加载网页时,它总是会完全加载整个页面,但是当我尝试通过任何其他计算机访问网页时(即使计算机连接到 LAN ) 它只会像 html 模板一样渲染,不渲染图片,只有框的轮廓,
看起来该站点在联机时没有加载 css 文件,但是我想知道为什么它可以在本地主机上运行。
我已尝试从 wordpress.org 重新安装 wordpress,并仔细查看说明并尝试在网上查找一些答案,但出现空白
电脑信息:
WAMP 服务器 织梦者
*问题可能出在站点设置期间的dreamweaver 上吗?
【问题讨论】:
检查 css 路径。输入完整路径以确保。 【参考方案1】:我看到了一个与这个问题非常相似的问题,但今天是针对 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>
【讨论】:
谢谢!这对我有用。唯一的区别是 option_name "home" 在我的数据库 i.imgur.com/h0lo3a2.png 上是 option_id "2"【参考方案2】:主要问题是因为 WordPress 使用数据库中的服务器地址。 WordPress 使用名为 home
和 siteurl
的数据库选项中的根 url,因此,如果您尝试在该计算机之外访问 WordPress,它可能会得到不正确的 CSS 和 javascript 路径。
如果你想在不做重定向的情况下得到正确的路径,你可以在wp-config.php
中定义一个动态的root url
在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/
【讨论】:
这对我有用。我有 Ubuntu 16 LTS,wordpress 4.8.2。澄清一下,上面的脚本块插入到上述行之后,但不是作为if
块的一部分,define('ABSPATH', dirname(__FILE__) . '/');
是唯一要执行的行。【参考方案3】:
要在网络上的其他计算机上进行 localhost 安装,您需要做几件事。
本地主机需要一个专用地址,可以是 IP 或假域名。
WordPress 需要配置该地址
需要告知其他机器该地址在哪里,通常在主机配置文件中,如
192.168.30.1 wp.dev
上面是使用 WAMP 分配给您的本地主机的网络 IP,而 wp.dev 是假的开发域。 这几乎需要在所有机器上进行设置,以便它们知道主机所在的位置。
【讨论】:
您能否详细说明如何设置该配置? 在 Wordpress 管理中,转到 Settings、General,然后更改 WordPress 地址 (URL) 和 网站地址 (URL)。 IE:对我来说是http://localhost/wordpress-test
,被http://192.168.110.103/wordpress-test
取代。瞧,您可以在智能手机上通过 wifi 预览网站!【参考方案4】:
在我看来,您的主题对于图像/样式表等资产的路径不正确。
我认为这会导致您遇到的那种问题。您应该发布您用于加载图像/CSS 等内容的代码部分(在您的主题中)。
【讨论】:
【参考方案5】:您必须从您的 wordpress 管理员访问权限配置管理页面内的常规选项表单,并用正确的信息替换 localhost url。
例如,将localhost
替换为http://my-site.my-domain
。如果没有域,则在页面代码中使用本地主机名,这就是您无法从其他计算机访问的原因。因此,在安装 wordpress 5 分钟后,网站 url 必须配置管理页面。
【讨论】:
以上是关于Wordpress 只会在 localhost 上完全加载的主要内容,如果未能解决你的问题,请参考以下文章
如何在网络上和通过 localhost 在本地启用 wordpress 网站
在 localhost WordPress 网站上找不到页面
我无法在 localhost 上激活我的 WordPress 插件
在 localhost 上运行 Wordpress,想让它在 Windows Server 2003 上运行