在Web开发领域,通常同时可以访问网站的www和非www版本。但是,拥有多个版本的网站可能会导致搜索引擎出现问题,因为它可能导致重复的内容。这可能会损害网站的搜索引擎排名并导致负面的用户体验。为避免此问题,建议将所有请求从网站的 www 版本重定向到非 www 版本。在本文中,我们将讨论如何在 Nginx 中将 www 重定向到非 www。
将 www 重定向到 nginx 上的非 www 域
第 1 步。首先,通过在终端中运行以下命令,确保所有系统软件包都是最新的。dnf
sudo dnf update sudo dnf upgrade
第 2 步。安装Nginx。
Nginx在官方的Rocky Linux或基于RHEL的存储库中可用,可以使用包管理器轻松安装。要安装 Nginx,请运行以下命令:dnf
sudo dnf install nginx
安装完成后,启动 Nginx 服务,并通过运行以下命令使其在启动时自动启动:
sudo systemctl start nginx sudo systemctl enable nginx
有关安装 Nginx 的其他资源,请阅读下面的帖子:
- 如何在 Rocky Linux √ 上安装 Nginx
- 如何在 Ubuntu Linux √ 上安装 Nginx
第 3 步。如何在 Nginx 上从 www 重定向到非 www。
从Nginx重定向到非Nginx的过程相对简单明了。在本节中,我们将完成设置重定向的步骤。www
www
该过程的第一步是打开 Nginx 配置文件。此文件通常位于目录中。如果您使用的是其他目录,请确保相应地修改文件路径。/etc/nginx
打开 Nginx 配置文件后,您需要创建一个新的服务器块。服务器块负责处理对您网站的传入请求并返回适当的响应。在这种情况下,服务器块将负责将请求从 non-重定向到非。www
www
server { listen 80; server_name www.your-domain.com; return 301 $scheme://your-domain.com$request_uri; }
在上面的代码中,指令用于指定服务器应侦听的端口。在这种情况下,它设置为 ,这是默认的 HTTP 端口。该指令用于指定此服务器块应处理的域名。在本例中,它设置为 。最后,a 指令用于指定重定向位置。在这种情况下,它设置为根域,后跟请求 URI。listen
80
server_name
www.your-domain.com
return
your-domain.com
最后,保存并关闭配置文件,然后重新启动 Nginx 服务以使更改生效,使用以下命令:
nginx -t sudo systemctl restart nginx
第 4 步。测试重定向。
要测试重定向,可以使用类似 的工具,它允许您从命令行发送 HTTP 请求:curl
curl -I http://your-domain/
或者通过访问网站的 www 版本来测试重定向。浏览器应自动重定向到网站的非 www 版本。
有关其他帮助或有用信息,我们建议您查看Nginx网站。