3

假设我有一个名为 xyz.co 的网站,我还有其他具有相同前缀的域名,例如 xyz.com、xyz.it、xyz.co.it

现在 nginx 在端口 80 中的 nginx.conf 中的 server_name xyz.co 工作正常我希望所有其他域都重定向到 xyz.co,我也希望上面的 www.* 版本重定向到 xyz.co。我怎样才能得到这个?这是 nginx 网络服务器级别的变化吗?或者我需要在 DNS 中进行此更改?

更新:我试过这个nginx.conf但没用......

server
{
listen 80;
server_name xyz.co xyz.com, xyz.it, xyz.co.it;
rewrite ^/(.*) http://xyz.co permanent;
}

我首先尝试在 ServerFault 中发布这个问题,但那里没有回应 - https://serverfault.com/questions/453472/nginx-domain-name-redirects

4

1 回答 1

5

为所有需要重定向的域名添加一个服务器块。像这样:

server {
    listen 80;
    server_name xyz.com, xyz.it, xyz.co.it;
    rewrite ^ http://xyz.co$request_uri permanent;
}

和 xyz.co 域的另一个服务器块:

server {
    listen 80;
    server_name xyz.co;

    #other settings
}

这样,当您转到需要重定向的域名之一时,nginx 将简单地重定向到 xyz.co 并移动到另一个服务器块,您可以在其中添加所有设置(根文件夹、位置块等)

于 2012-11-29T22:13:04.960 回答