重写与重定向 NGINX

[ad_1]

当用户请求一个 URL 时,NGINX 允许你从不同的 URL 提供内容,使用 URL 重写以及使用重定向。 但是,在使用 URL 重写与重定向之前,您需要了解它们之间的重要区别。 在本文中,我们将看看 NGINX 中重写与重定向之间的区别。

重写与重定向 NGINX

这是 NGINX 中 URL 重写与重定向之间的区别。

什么是 URL 重写

URL Rewrite 允许您在服务器处理之前将请求的 URL 重写为不同的 URL。 这是一个例子 网址重写 声明在 Apache 我们将 /product-id/1 重写为 /product/1.html

Rewrite ^product-id/([0-9]+)$ /product/$1.html

在上面的例子中, Apache 服务器将接受对 /product-id/1 的请求并在 /product/1.html 提供内容。 它将为所有产品 URL 执行此操作,例如 /product-id/1、/product-id/2 等。

在这种情况下,尽管用户请求 /product-id/1,但他们在不知情的情况下获得了内容 /product/1.html。 URL 的这种更改发生在服务器内部,用户不会知道它,因为浏览器 URL 不会更改。

另请阅读:如何在 NGINX 中创建自定义 404 页面

什么是网址重定向

URL Redirect 允许您将浏览器重定向到不同的 URL 并在该 URL 上继续处理。 这是 URL 重定向规则的示例 Apache 允许您从 product-id/1 重定向到 /product/1.html

Redirect ^product-id/([0-9]+)$ /product/$1.html

在上面的例子中,当用户请求/product-id/1、/product-id/2等时,他们分别被重定向到/product/1、/product/2等。

另请阅读:如何在 NGINX 中限制下载速度

URL 重写与重定向之间的区别

在 URL 重写的情况下,服务器在内部自行执行 URL 替换,并提供来自不同 URL 的响应。 这 浏览器中请求的 URL 不会改变.

另一方面,在 URL 重定向的情况下,当浏览器请求特定 URL 时,服务器向浏览器发送 3xx 重定向响应以及重定向位置。 然后浏览器会自动向重定向位置发送新请求。 所以 浏览器更改请求的 URL.

如果您想显示漂亮的 SEO 友好且直观的 URL(例如 /product ),但提供来自非漂亮 URL(例如 index.php?category=1&page=3&konid=213)的内容,则 URL 重写非常有用。 如果您想从不同的位置提供请求的 URL,而不更改 URL,它也很有用。 在这种情况下,您不希望搜索引擎和用户知道您正在提供来自不同位置的内容。

如果您已将页面移至新位置并希望从该位置提供内容,则 URL 重定向非常有用。 在这种情况下,您是在让用户和搜索引擎知道您的 URL 已移动。 当您想要移动或重组您的网站,或将多个页面合并为一个页面时,它非常有用。

CodePre 可以轻松地将数据可视化,并在实时仪表板中对其进行监控。 免费试用 CodePre。

[ad_2]

Related Posts