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

浏览:39日期:2022-07-12

问题描述

如题:

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

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

问题解答

回答1:

你把下面这个挪到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里面。

回答2:

试试map

//context http

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

//context server

error_page $page;

相关文章: