有没有办法捕获对未设置虚拟主机的任意子域的所有请求,并重定向到 nginx 中的自定义 404 页面?我将设置一个通配符 A 记录 *.example.com,并且我们所有的用户都将有一个子域 username.example.com。如果有人输入一个不存在的子域,我该如何重定向到自定义 404 页面,而不是让它解析,因为设置了通配符?
答案1
当然 - 虽然我不确定您所说的“而不是让它解析”是什么意思 - 但希望您不是指阻止 DNS 解析,因为这在您的 Web 服务器上是不可能的。
你会想要这样的东西:
server {
server_name _;
listen 80 default_server;
error_page 404 http://your.site.com/prettyerrorpage.html;
return 404;
}