问题描述

我想在 Windows 机器上使用子域创建一个本地网络。我不想为每个新的子域编辑 hosts 文件。但是 Windows 不支持通配符子域,而 Codex 对此主题没有任何用处。

我该怎么办?

最佳解决方案

有一个插件:WP XAMPP Multisite Subdomains 。不幸的是,没有英文描述。我会在这里试试。以下指南将在具有子域的 mu.wp 下设置一个 multi-site 。

基本安装

从 WordPress 和 XAMPP 的全新安装开始。 Create a network 为子域。不要创建任何子站点。

我的 XAMPP 安装在 E:xamppE:wordpress.latest.final 中的 WordPress,以及 F:sites 中的我的站点特定目录。目录 F:sites_logs 用于日志文件。确保在以下示例中调整路径到您的设置。

2. hosts 文件

打开 hosts 文件。在 Win 7 上可能在 C:WindowsSystem32driversetchosts 上,您需要管理员权限才能编辑它。

创建一个单独的部分,如下所示:

# BEGIN XAMPP-127.0.0.2
127.0.0.2           mu.wp
# END XAMPP-127.0.0.2

注意我们使用 127.0.0.2,而不是 127.0.0.1 。这个很重要。

保存文件,关闭并忘记。

3. httpd-vhosts.conf

打开/apache/conf/extra/httpd-vhosts.conf 中的 Apache vhosts 文件。

创建一个新的虚拟主机。如果这是您的第一个虚拟主机,首先需要一个通用的 vhost 。

通用 vhost

应该是文件中的第一个虚拟主机。

<VirtualHost *:80>
    DocumentRoot "E:/xampp/htdocs"
    ServerName localhost
    <Directory "E:/xampp/htdocs">
        Options Indexes FollowSymLinks
        Options +Includes
        AllowOverride FileInfo
        AllowOverride All
        Order allow,deny
        Allow from all
        DirectoryIndex index.php index.shtml index.html index.htm
    </Directory>
    ErrorLog  "F:sites_logsdefault.error.log"
    CustomLog "F:sites_logsdefault.access.log" combined
</VirtualHost>

我们的 multi-site vhost

<VirtualHost 127.0.0.2:80>
    ServerName      mu.wp
    DocumentRoot    "E:wordpress.latest.final"
    <Directory "E:wordpress.latest.final">
        Options Indexes FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
    ErrorLog        "F:sites_logsmu.wp.error.log"
    CustomLog       "F:sites_logsmu.wp.access.log" combined
</VirtualHost>

确保所有的路径是正确的!重新启动 Apache 。

4. 安装插件

将插件 WP XAMPP Multisite Subdomains 安装为 MU-plugin 。通常在 wp-content/mu-plugins

完成。

您现在可以在 http://mu.wp/wp-admin/network/site-new.php 中创建新的子域,该插件将自动更新 hosts 文件,您的新站点立即可用。

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。