Nginx能否配置一条404页面对应多个域名?

发布于 2022-09-01 21:14:31 字数 254 浏览 10 评论 0

如题:

nginx中就一个server,所有的域名配置都一样,通过程序区分,每个域名都是一个独立的站点,想让每个域名404时都显示自己对应的404页面,nginx下不知如何配置实现

server {
    ...
    server_name a.com b.cn d.org ....; # 配置了很多域名
    ...
    
    error_page 404 /404.html;
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

携余温的黄昏 2022-09-08 21:14:31

你把下面这个挪到http作用域里面就行了, 不要每个server里面都写一个
error_page 404 /404.html;

遇到这种问题,你应该去看文档:
Syntax: error_page code ... [=[response]] uri;
Default: —
Context: http, server, location, if in location

context表示这个error_page语法的作用域, 说明可以放到http里面。

负佳期 2022-09-08 21:14:31

试试map

//context http

map $http_host $page {
    default  404.html;
    .com   404.com.html;
    .cn 404.cn.html;

}

//context server

error_page $page;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文