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.1localhost 作为您的 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 使用名为 homesiteurl 的数据库选项中的根 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 管理中,转到 SettingsGeneral,然后更改 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 上运行

最近下载的 WordPress 5.7.2 但在 localhost 上运行时获取错误 [重复]

如何使用 xampp 和 wordpress 在 localhost 上发送邮件