使用Nginx,我尝试将我的服务器配置为接受所有指向我服务器IP的域,通过向他们展示特定网站,但在访问www.example.com(主网站)时,我会展示其他内容。
这是我到目前为止所做的:
server {
// Redirect www to non-www
listen 80;
server_name www.example.com;
return 301 $scheme://example.com$request_uri;
}
server {
listen 80;
server_name example.com;
// rest of the configuration
}
server {
// Catch all
listen 80 default_server;
// I also tried
// server_name _;
// Without any luck.
// Rest of the configuration
}
此配置的问题在于,对此服务器不是www.example.com或example.com的每个请求都是在example.com服务器配置下进行的,而不是全部捕获。
我希望在前两种配置中仅使用www.example.com/example.com,而在最后一种配置中使用所有其他配置。
答案 0 :(得分:1)
我建议将您的服务器放在文件的顶部:)
我认为nginx希望默认服务器位于-a-文件之上。 我的服务器上有很多文件,但有一个默认服务器作为第一个服务器声明,并且有效。