微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

重定向是一种重写规则吗?

如何解决重定向是一种重写规则吗?

我试图理解重写和重定向间的区别,但我有点困惑。我在某些地方读到不同之处在于“重定向规则指示客户端(通常是浏览器)切换 URL 并导航到规则的目标。重定向规则通常用于您想要重定向的旧路径到新的。

相比之下,Rewrite 规则不会更改原始 URL;它只是在原始路径上提供规则目标的内容。浏览器无法判断内容是从不同的路径或 URL 提供的,因此可以在您网站上的任何其他路径上显示来自不同路径或 URL 的内容。 "

但是查看 Apache 服务器,文档是这样说的: “mod_rewrite 模块使用基于规则的重写引擎,基于 PCRE 正则表达式解析器,即时重写请求的 URL。认情况下,mod_rewrite 将 URL 映射到文件系统路径。但是,它也可用于重定向一个 URL 到另一个 URL,或调用内部代理提取。”

那么在这种情况下,是否可以将函数重写为重定向,从而使 URL 在浏览器中显示为更改?还是总是这样,如果是重写,浏览器 url 永远不会改变?如果您使用的是 IIS 还是 Apache 服务器,这是否是一个不同的答案?

解决方法

URL 重写规则用于创建用户友好的 URL,这些 URL 更容易让用户记住,也更容易被搜索引擎找到。

IIS 的重写模块可用于执行 2 个操作:

rewrite => URL 保持不变,但内容是从其他地方加载的

<action type="Rewrite" url="http://www.{HTTP_HOST}/{R:0}" />

重定向 => 当用户的浏览器被带到一个新的 URL 时。

<action type="Redirect" url="http://www.{HTTP_HOST}/{R:0}" />

两者都使用相同的规则和条件来确定是否应该触发操作。

与 apache 相同,但在 apache 系统中,重定向不同,它使用“redirect|R”标志。

参考链接: https://weblogs.asp.net/owscott/rewrite-vs-redirect-what-s-the-difference

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。