IIS重定向和重写的区别(重定向)

jecbmhm3  于 2024-01-08  发布在  其他
关注(0)|答案(2)|浏览(146)

这个问题可能听起来很奇怪,但是给定一个article,绝对可以使用重写模块来执行重定向,就像重定向模块一样。两者都可以发出永久重定向(301)。
有一个问题问的区别,但它谈到了重写模块被用来纯粹 * 重写 * 不 * 重定向 *。另一个post明确了这一点,但似乎没有得到足够的答案。
因此,我的问题是:这些模块之间有什么区别?当涉及到重定向时,哪个模块更受欢迎?

fjnneemd

fjnneemd1#

**注:这个答案没有回答IIS重定向(httpRedirect)与URL重写模块的重定向之间的差异,而是URL重写模块(重定向与重写)之间的差异。

如果你试图隐藏复杂的URL(与查询字符串),以更友好的URL,然后重写是要走的路,因为浏览器/搜索引擎将始终看到200 OK,并假设内容是来自请求的原始URL。
如果您试图向搜索引擎/新URL的用户指示资源的更改,则重定向是要走的路,因为您正在发送301状态代码,说明资源已从原始位置移动到这个新位置。
IIS重定向:

  • 重定向发生在客户端
  • 浏览器在地址栏中看到不同的URL。
  • 客户端知道重定向URL。
  • 301/302可以发,编辑:(303/307也可以发)
  • 良好的搜索引擎优化/搜索引擎,以表明新的网址。mysite.com/abc到mysite.com/pqr
  • 可以重定向到同一个网站或不同的网站。

IIS重写:

  • 重定向发生在服务器端
  • 浏览器在地址栏中看不到新的URL。
  • 客户端不知道内容是否从重写的URL提供。
  • 没有发出301/302。这将有正常的200 OK假设重写的URL资源是可用的。
  • 很好地隐藏不友好的URL和SEO。mysite.com/article/test-sub/到mysite.com/article.aspx?id=test-sub
  • 通常是同一个网站内的资源。

请求处理(REDIRECT):www.mysite.com/abc重定向到www.mysite.com/pqr
1.客户来电:www.mysite.com/abc

  1. URL重写模块看到客户端URL的规则匹配,并给出新的重定向URL。
    1.服务器用301响应,并为客户端提供新的URL以调用www.mystite.com/pqr
    1.客户端调用新URL www.mystite.com/pqr
    1.服务器响应200确定新的URL。(地址栏显示新的URL)
    请求处理(REWRITE):www.mysite.com/abc您要指向的www.mysite.com/pqr
    1.客户来电:www.mysite.com/abc
  2. URL重写模块看到规则匹配并向IIS提供新的重写URL,即www.mysite.com/pqr,服务器在IIS中请求该URL。
    1.服务器响应200确定为原始URL,但与重写的URL的内容。(地址栏显示原始URL和客户端不知道你是从不同的URL提供内容)
7gyucuyw

7gyucuyw2#

重写可以做重定向可以做的一切,但不是相反。认为重定向是一个快速设置,您可以简单轻松地设置单个重定向规则。您只能提供一个通用规则来重定向。然而,重写给予您更多的控制权,让您可以使用正则表达式处理任何给定的请求URL。您还可以设置多个规则来定义自定义设置。
例如:我想重定向www.example.comwww.example.com/app1,但如果请求是www.example.com/notThisOne,然后转到www.example.com/app2,你只能使用重写。

相关问题