URL 重写是根据一个或多个预定义规则修改请求 URL 的行为。 URL 重写会在资源位置和地址之间创建一个抽象,使位置和地址不紧密相连。 在以下几种方案中,URL 重写很有价值:
- 暂时或永久移动或替换服务器资源,并维护这些资源的稳定定位符。
- 拆分在不同应用或同一应用的不同区域中处理的请求。
- 删除、添加或重新组织传入请求上的 URL 段。
- 优化搜索引擎优化 (SEO) 的公共 URL。
- 允许使用友好的公共 URL 来帮助访问者预测请求资源后返回的内容。
- 将不安全请求重定向到安全终结点。
- 防止热链接,外部站点会通过热链接将其他站点的资产链接到其自己的内容,从而利用托管在其他站点上的静态资产。
URL 重写可能会降低应用的性能。 请限制规则的数量和复杂度。
URL 重定向和 URL 重写
URL 重定向和 URL 重写之间的用词差异很细微,但这对于向客户端提供资源具有重要意义 。 ASP.NET Core 的 URL 重写中间件能够满足两者的需求。
URL 重定向涉及客户端操作,指示客户端访问与客户端最初请求地址不同的资源。 这需要往返服务器。 客户端对资源发出新请求时,返回客户端的重定向 URL 会出现在浏览器地址栏。
如果 /resource
被重定向到 /different-resource
,则服