准备dnsproxy.py

准备dnsproxy.py

我已经在计算机上设置了localhost/~<username>,并且正在使用它来创建自定义测试域。如何添加 DNS 通配符域?()~/Sites/etc/apache2/extra/httpd-vhosts.conf*.dev.server

我在 ~/Sites/Wordpress 上设置了 Wordpress 多站点网络(如wordpress.server),但每次我创建站点时,它都无法工作。我该如何让它正常工作?

httpd-vhosts.conf

<VirtualHost *:80>
    DocumentRoot "/Users/<username>/Sites/Wordpress"
    ServerName wordpress.server
    ServerAlias www.wordpress.server
</VirtualHost>

/etc/hosts

127.0.0.1    wordpress.server
127.0.0.1    www.wordpress.server

谢谢!

答案1

要做到这一点,你需要dnsproxy.py

准备dnsproxy.py

首先,下载 Python 文件并将其移动到您的主目录中。 点击此处下载然后解压文件。接下来,将 Python 文件移动到您的主目录中。(Users/<your username>

添加 wildard 至/etc/hosts

使用您最喜欢的编辑器,例如nano,通过终端打开 hosts 文件。

sudo nano /etc/hosts

添加以下条目:

127.0.0.1       *.wordpress.server

跑步dnsproxy.py

dnsproxy.py通过在终端中执行以下操作来运行:

python ~/dnsproxy.py -s 8.8.8.8

-s 8.8.8.8指委派 DNS 服务器。在此命令中,我们使用 Google 的 DNS 服务器。如果您愿意,可以将其替换为其他 DNS 服务器。(例如 1.1.1.1)

如果在 MacOS Catalina 10.15 中使用该命令时遇到错误python,请尝试运行以下命令:

/usr/bin/python ~/dnsproxy.py -s 8.8.8.8

笔记:不要关闭或终止终端窗口,否则通配符/etc/hosts将不起作用。

添加通配符httpd-vhosts.conf

在终端中,使用您喜欢的编辑器打开以下文件:

sudo nano /etc/apache2/extra/httpd-vhosts.conf

添加以下条目:(替换wordpress.server为您的服务器名称和Wordpress项目文件夹)

<VirtualHost *:80>
    DocumentRoot "/Users/<your username>/Sites/Wordpress"
    ServerName wordpress.server
    ServerAlias *.wordpress.server
</VirtualHost>

ServerName定义主主机名,而ServerAlias定义通配符子域名。

修改 DNS

转到系统偏好设置( > 系统偏好设置...),然后转到网络偏好设置。 系统偏好设置中的网络偏好设置

然后转到窗格左下角的“高级”。 系统偏好设置中的网络偏好设置

转到窗格顶部的 DNS 选项卡。 系统偏好设置中的网络偏好设置

接下来,添加127.0.0.1DNS 服务器。(如果您没有条目并且要添加127.0.0.1,我建议您添加网络的默认 DNS 或另一个 DNS,例如,这样8.8.8.8当您不进行开发时,您的互联网就可以正常工作。) 系统偏好设置中的网络偏好设置

最后,单击窗格右下角的“确定”,然后单击“应用”。

检查错误

在终端中执行以下命令:

apachectl configtest

它可能会显示一些警告,但最终会导致Syntax OK

如果它没有显示Syntax OK并导致错误,请转到导致错误的文件并尝试修复它。

重启 Apache

在终端中执行以下命令:

sudo apachectl restart

现在尝试访问一个随机子域名,例如test.wordpress.server。它应该可以工作。

相关内容