如何在 Nginx 中重定向非 WWW 或 WWW

NGINX 是一款功能强大且灵活的 Web 服务器,可配置为执行各种任务,包括 URL 重定向。将流量从非 WWW 重定向到 WWW 或反之亦然是一项常见要求,可确保始终访问您的网站、改进 SEO 并增强用户体验。此设置可确保所有访问者都被定向到您网站的单一版本,这有助于搜索引擎索引并消除重复内容问题。

本指南将演示如何配置 NGINX 将非 WWW 重定向到 WWW 以及将 WWW 重定向到非 WWW,并提供清晰的步骤和示例以有效地实现此设置。

了解 NGINX URL 重定向

在探索 NGINX 中 WWW 到非 WWW 重定向(反之亦然)的实现之前,必须掌握 URL 重定向的基本概念。了解这些基础知识可确保有效且 SEO 友好的网站管理。

了解 NGINX URL 重定向:关键类型

  • 301 重定向:
    • 目的:指示永久的 URL 改变。
    • 用例:当网页永久移动到新位置时非常理想。
    • SEO 影响:将 SEO 排名从旧 URL 转移到新 URL,保持搜索引擎的可信度。
  • 302 重定向:
    • 目的:表示临时 URL 变更。
    • 用例:在网站维护或临时内容转移期间很有用,表示将来返回原始 URL。
    • SEO 影响:告诉搜索引擎保留原始 URL 索引,因为更改不是永久性的。
  • 303 重定向:
    • 目的:通过防止在页面刷新时重新提交数据来管理表单提交。
    • 用例:主要用于涉及表单提交确认的情况。
    • 用户体验:通过防止重复表单提交和潜在的数据错误来增强用户体验。

在 Nginx 中将非 WWW URL 重定向到 WWW URL

使用 Nginx 服务器块进行重定向

Nginx 服务器块对于管理重定向非常有效。以下是将非 WWW URL 重定向到 WWW URL 的方法。

配置示例:

server {
    listen 80;
    server_name example.com;
    return 301 $scheme://www.example.com$request_uri;
}

server {
    listen 80;
    server_name www.example.com;
    # Host your website content here
}

此配置将请求从 example.com (非 WWW) 重定向到 www.example.com (WWW)。$scheme 和 $request_uri 保留协议和路径。

Nginx 重定向指令

重定向指令提供了一种实现重定向的直接方法。

指令示例:

server {
    listen 80;
    server_name example.com;
    return 301 $scheme://www.example.com$request_uri;
}

该指令将 example.com(非 WWW)重定向至 www.example.com(WWW),保持原始 URL 路径和协议。

在 Nginx 中将 WWW 重定向到非 WWW URL

利用 Nginx 服务器块实现 WWW 到非 WWW 的转换

以下是如何设置从 WWW 重定向到非 WWW URL 的服务器块。

配置示例:

server {
    listen 80;
    server_name www.example.com;
    return 301 $scheme://example.com$request_uri;
}

server {
    listen 80;
    server_name example.com;
    # Host your website content here
}

此设置将 www.example.com 重定向到 example.com,使用 $scheme 和 $request_uri 实现无缝转换。

使用 Nginx 重写规则实现重定向

Nginx 中的重写规则是处理 URL 操作的有效方法。

重写规则示例:

server {
    listen 80;
    server_name www.example.com;
    rewrite ^(.*)$ $scheme://example.com$1 permanent;
}

此规则将 www.example.com 更改为 example.com。^(.*)$ 模式捕获所有 URL,将其附加到 example.com ($1),并将重定向标记为永久重定向。

结束语

通过配置 NGINX 将非 WWW 重定向到 WWW 或反之亦然,您可以确保对网站的一致访问并改善 SEO。定期检查您的 NGINX 配置以确保其按预期工作并在必要时进行调整。实施这些重定向有助于保持统一的在线状态,并通过将所有流量引导到您网站的单一版本来增强用户体验。

Joshua James
跟我来
Joshua James 的最新帖子 (查看全部)

发表评论