问题描述
我想在 Windows 机器上使用子域创建一个本地网络。我不想为每个新的子域编辑 hosts
文件。但是 Windows 不支持通配符子域,而 Codex 对此主题没有任何用处。
我该怎么办?
最佳解决方案
有一个插件:WP XAMPP Multisite Subdomains 。不幸的是,没有英文描述。我会在这里试试。以下指南将在具有子域的 mu.wp
下设置一个 multi-site 。
基本安装
从 WordPress 和 XAMPP 的全新安装开始。 Create a network 为子域。不要创建任何子站点。
我的 XAMPP 安装在 E:xampp
,E: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 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。