通过 LAN 访问 MAMP 中的 WordPress 网络安装
Posted
技术标签:
【中文标题】通过 LAN 访问 MAMP 中的 WordPress 网络安装【英文标题】:Accessing WordPress network installation in MAMP over LAN 【发布时间】:2012-10-21 04:26:21 【问题描述】:我在本地安装了 WordPress 网络并使用 MAMP Pro 运行服务器。我想从同一 LAN 中的另一台计算机或设备查看所有站点。
有没有干净简单的方法来做到这一点?
我有 MAMP 设置,以便它进入一个名为 Sites 的文件夹。在该文件夹中,每个项目都有自己的文件夹。有些项目只是简单的 html 和 CSS。我可以从我的 iPad 上很好地查看它们。一个项目是 WordPress 安装,我无法加载该文件夹。我的猜测是这与 mysql 和试图访问它的不同 IP 有关。
【问题讨论】:
将站点的主机名+ip 添加到本地计算机的主机文件中,然后在浏览器中点击该主机名? 它不起作用。简单的 html 文件可见。一旦我尝试访问它不会加载的“WordPress 文件夹”,请立即放置。 【参考方案1】:主要问题是因为 wordpress 使用数据库中的服务器地址,wordpress 使用名为 home
和 siteurl
的数据库选项中的根 url,所以如果您尝试在他们的计算机之外访问 wordpress,它可能会得到不正确的 css 路径和 javascript。
如果你想在不做重定向的情况下得到正确的路径,你可以在wp-config.php
下定义动态根url
在define('ABSPATH', dirname(__FILE__) . '/');
下面添加这个脚本
/**
* get home url from absolute path
* @return string url to main site
* lafif@astahdziq.in
*/
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['SERVER_NAME'];
$home_url = "$protocol://$domain$disp_port$base_url";
return $home_url;
$url = get_dynamic_home_url();
define('WP_SITEURL', $url);
define('WP_HOME', $url);
【讨论】:
【参考方案2】:完成这项工作的关键是将您的 WordPress 和站点 URL 更改为您的 IP 地址 + MAMP 端口,在 WordPress 仪表板的设置 > 常规中。
例如,如果这些 URL 当前是 localhost
,您应该将它们设置为 mysite.local:8888
。
如果/当您将 WordPress 安装移动到另一台服务器时,请记住将这些 URL 更改回正确的值。
【讨论】:
此问题的另一个潜在解决方案是将以下内容添加到您的 wp-config.php 文件中:define('WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST']); define('WP_HOME', 'http://' . $_SERVER['HTTP_HOST']);
,这会将站点 URL 和主页值更改为用于访问网站。以上是关于通过 LAN 访问 MAMP 中的 WordPress 网络安装的主要内容,如果未能解决你的问题,请参考以下文章