如何在 NGINX 中将子域重定向到文件夹

当您将子域移动到您网站上的子文件夹时,您需要将子域重定向到子目录以避免断开链接并维护 SEO。 以下是如何将子域重定向到 NGINX 中的文件夹。 您可以使用它将子域重定向到 Ubuntu/Debian/CentOS/Redhat/ 中的子文件夹Fedora 和其他 Linux 系统。

如何在 NGINX 中将子域重定向到文件夹

以下是将子域重定向到 NGINX 中文件夹的步骤。 假设您要将子域 blog.example.com 重定向到子文件夹 example.com/blog

1.打开NGINX配置文件

如果你使用的是NGINX的主配置文件nginx.conf,没有虚拟主机,那么打开终端,运行以下命令

$ sudo vi /etc/nginx/nginx.conf

如果您为您的网站(例如 www.website.com)配置了单独的虚拟主机,例如 /etc/nginx/sites-enabled/website.conf 然后使用以下命令打开其配置

$ sudo vi /etc/nginx/sites-enabled/website.conf

奖励阅读:如何在 NGINX 中阻止 IP 地址

2.在NGINX中将子域重定向到文件夹

只需在您的服务器配置中添加以下 server 块,在 http 块内。

server {
    server_name blog.example.com;
    return 301 https://www.example.com/blog$request_uri;
}

在上面的代码中,将 blog.example.com 替换为您的子域,并将 /blog 替换为您的子目录。 由于 server_name 指令,上述服务器块将侦听发送到 blog.example.com 的所有请求。 它将所有这些请求重定向到您网站的 /blog 子目录。 $request_uri 是请求 URL 中子域名后的 URL 存根。 我们返回 301 代码以导致永久重定向。

因此,它会将子域连同 URL 字符串一起永久重定向到子目录。

奖励阅读:网站前 10 名 SSL 证书提供商

3.重启NGINX

最后,运行以下命令来检查更新的配置文件的语法。

$ sudo nginx -t

奖励阅读:如何在 NGINX 中将位置重定向到另一个域

如果没有错误,请运行以下命令重新启动 NGINX 服务器。

$ sudo service nginx reload #debian/ubuntu
$ systemctl restart nginx #redhat/centos

就是这样! 现在 NGINX 会将子域重定向到您网站的子文件夹。

CodePre 可以在几分钟内轻松可视化数据,并在实时仪表板中进行监控。 今天就试试吧!