`
足至迹留
  • 浏览: 494726 次
  • 性别: Icon_minigender_1
  • 来自: OnePiece
社区版块
存档分类
最新评论

<补充-1> Url Rewrite && Url redirect

阅读更多
在配置Nginx时经常会看到url rewrite规则,这时就不得不区分redirect和rewrite的区别。

1.URL Redirect (重定向)
通过重定向,浏览器知道页面位置发生变化,从而改变地址栏显示的地址
1) 通过重定向,搜索引擎意识到页面被移动了,从而更新搜索引擎索引,将原来失效的链接从搜索结果中移除。
2) 临时重定向(R=302)和永久重定向(R=301)都是亲搜索引擎的,是SEO(Search Engine Optimization)的重要技术。
3) Redirect是浏览器和服务器发生两次请求,也就是服务器命令客户端“去访问某个页面”
4) redirect的URL需要传送到客户端。
5) redirect是从一个地址跳转到另一个地址

比如301重定向的处理流程:
1. User lands on original URL (用户用原始url登陆)
2. Using code, mode_rewrite, etc. the 301 redirects URL to the new one, literally changing the URL that is displayed in the browser from the old to the new (使用mode_rewrite等指令使原始url重定向到新的url,明显的变化就是浏览器上原始url变成了新的url)
3. URL Rewrite process begins again(接着就是url rewrite的流程了,这个流程后面介绍)


2. URL Rewrite (url 重写)
重写,不仅仅可以实现redirect在url上的重定向,还可以直接重写请求到实际的文件以及更多附加功能。

1) rewrite的URL只是在服务器端
2) Rewrite规则是服务器内部的一个接管,在服务器内部告诉“某个页面请帮我处理这个用户的请求”,浏览器和服务器只发生一次交互,浏览器不知道是该页面做的响应,浏览器只是向服务器发出一个请求。
3) URL重写用于将页面映射到本站另一页面,若重写到另一网络主机(域名),则按重定向处理。
4) rewrite是把一个地址重写成另一个地址。地址栏不跳转(若是重写到另一网络主机则也可能跳转)。相当于给另一个地址加了一个别名一样。

所以根据重写的地址跨域还是不跨域,rewrite可以做内部,也可以做外部的重写,rewrite可以让url变化,也可以让url不变化。

上述的例子就像用户去买手机,缺货时的两种处理:让用户自己去其他地方买(Redirect);公司从其他的地方调货(Rewrite)。

3. rewirte和redirect对比


参考资料:
http://19920309.blog.51cto.com/8277196/1334449
http://moz.com/blog/url-rewrites-and-301-redirects-how-does-it-all-work
http://weblogs.asp.net/owscott/rewrite-vs-redirect-what-s-the-difference

  • 大小: 66.8 KB
  • 大小: 25.1 KB
0
0
分享到:
评论

相关推荐

    urlrewrite-maven-example.zip

    &lt;to type="redirect"&gt;/new/$1&lt;/to&gt; &lt;/rule&gt; ``` **集成与使用** 在Maven项目中集成URLRewrite,首先需要在`pom.xml`中添加依赖: ```xml &lt;dependency&gt; &lt;groupId&gt;org.tuckey&lt;/groupId&gt; &lt;artifactId&gt;...

    urlrewrite地址重写实例配置说明

    &lt;filter-class&gt;org.tuckey.web.filters.urlrewrite.UrlRewriteFilter&lt;/filter-class&gt; &lt;init-param&gt; &lt;param-name&gt;logLevel&lt;/param-name&gt; &lt;param-value&gt;info&lt;/param-value&gt; &lt;/init-param&gt; &lt;/filter&gt; &lt;filter-...

    urlrewrite 完整实例,可直接运行。支持多个参数传递

    &lt;filter-class&gt;org.tuckey.web.filters.urlrewrite.UrlRewriteFilter&lt;/filter-class&gt; &lt;init-param&gt; &lt;param-name&gt;logLevel&lt;/param-name&gt; &lt;param-value&gt;WARN&lt;/param-value&gt; &lt;/init-param&gt; &lt;init-param&gt; &lt;param-...

    urlrewrite包和配置文件

    &lt;to type="redirect"&gt;https://example.com/$1&lt;/to&gt; &lt;/rule&gt; &lt;/urlrewrite&gt; ``` 在这个例子中,第一个规则将任何访问"/old-page.html"的请求重定向到"/new-page"。第二个规则则检查请求URI是否以"/secure/"开头,...

    urlrewrite 4.0.3 jar包.rar

    &lt;to type="redirect"&gt;/new/$1&lt;/to&gt; &lt;/rule&gt; ``` **应用场景** 1. **SEO优化**:将动态参数URL转换为静态化URL,提高搜索引擎的抓取效率。 2. **友好的URL**:使URL更易读,提升用户体验。 3. **隐藏真实路径**:...

    UrlRewrite实现伪静态

    &lt;to&gt;/new/static-url/$1&lt;/to&gt; &lt;/rule&gt; &lt;/urlrewrite&gt; ``` 上述配置表示将所有以`/old/dynamic-url/`开头的URL重定向到`/new/static-url/`,其中`(.*)`是捕获组,用于保留原URL的部分路径。 5. **常见规则**: ...

    伪静态URLRewrite实例解析

    id=$1&lt;/to&gt; &lt;/rule&gt; &lt;/urlrewrite&gt; ``` 这里的规则表示将形如`/数字.html`的URL重定向至`/index.jsp?id=数字`。其中: - `&lt;from&gt;` 表示客户端请求的URL模式,采用正则表达式匹配。 - `&lt;to&gt;` 指定实际处理请求的...

    Spring MVC 配置 urlrewrite 实例

    &lt;to&gt;/$1&lt;/to&gt; &lt;/rule&gt; ``` 5. **条件匹配** 我们还可以根据特定的请求参数或HTTP头信息来决定是否执行重写。例如,只对GET请求进行URL重写: ```xml &lt;rule&gt; &lt;condition type="request-method"&gt;GET&lt;/...

    java urlrewrite jar及简单配置

    articleId=$1&lt;/to&gt; &lt;/rule&gt; &lt;/urlrewrite&gt; ``` 在这个例子中,`&lt;from&gt;`元素定义了匹配的URL模式,`&lt;to&gt;`元素则指定了重定向后的URL。`$1`是一个反向引用,对应于`&lt;from&gt;`中的第一个括号内匹配的内容。 4. **...

    urlrewritefilter-4.0.3.jar 实现网站伪静态301重定向

    &lt;filter-class&gt;org.tuckey.web.filters.urlrewrite.UrlRewriteFilter&lt;/filter-class&gt; &lt;init-param&gt; &lt;param-name&gt;logLevel&lt;/param-name&gt; &lt;param-value&gt;WARN&lt;/param-value&gt; &lt;/init-param&gt; &lt;init-param&gt; &lt;param-...

    使用urlrewrite重写struts2的action

    &lt;filter-class&gt;org.tuckey.web.filters.urlrewrite.UrlRewriteFilter&lt;/filter-class&gt; &lt;/filter&gt; &lt;filter-mapping&gt; &lt;filter-name&gt;UrlRewriteFilter&lt;/filter-name&gt; &lt;url-pattern&gt;/*&lt;/url-pattern&gt; &lt;dispatcher&gt;...

    urlrewritefilter实现伪静态

    &lt;filter-class&gt;org.tuckey.web.filters.urlrewrite.UrlRewriteFilter&lt;/filter-class&gt; &lt;init-param&gt; &lt;param-name&gt;logLevel&lt;/param-name&gt; &lt;param-value&gt;DEBUG&lt;/param-value&gt; &lt;/init-param&gt; &lt;/filter&gt; &lt;filter-...

    struts2中实现URL重写

    &lt;filter-class&gt;org.tuckey.web.filters.urlrewrite.UrlRewriteFilter&lt;/filter-class&gt; &lt;/filter&gt; &lt;filter-mapping&gt; &lt;filter-name&gt;UrlRewriteFilter&lt;/filter-name&gt; &lt;url-pattern&gt;/*&lt;/url-pattern&gt; &lt;dispatcher&gt;...

    JSP使用URLRewirte实现url地址伪静态化

    &lt;filter-class&gt;org.tuckey.web.filters.urlrewrite.UrlRewriteFilter&lt;/filter-class&gt; &lt;/filter&gt; &lt;filter-mapping&gt; &lt;filter-name&gt;UrlRewriteFilter&lt;/filter-name&gt; &lt;url-pattern&gt;/*&lt;/url-pattern&gt; &lt;dispatcher&gt;...

    urlrewrite

    &lt;to type="redirect"&gt;/newpath/$1&lt;/to&gt; &lt;/rule&gt; ``` 这个规则会将所有以`/oldpath/`开头的请求重定向到`/newpath/`下对应的部分。 总结 URLRewrite作为Java Web开发中的一个重要工具,通过灵活的配置和规则引擎,...

    URLRewrite URL重写组件

    1. **安装**:URLRewrite组件通常作为IIS扩展通过Web Platform Installer进行安装,也可以手动下载并安装相应的MSI文件。 2. **配置**:配置主要在`web.config`文件中进行,通过添加`&lt;system.webServer&gt;`节点下的`...

    UrlRewrite概念原理及使用方法解析

    &lt;filter-class&gt;org.tuckey.web.filters.urlrewrite.UrlRewriteFilter&lt;/filter-class&gt; &lt;/filter&gt; &lt;filter-mapping&gt; &lt;filter-name&gt;UrlRewriteFilter&lt;/filter-name&gt; &lt;url-pattern&gt;/*&lt;/url-pattern&gt; &lt;dispatcher&gt;...

    Asp.Net URL重写-URLReWrite

    ASP.NET的URL重写(URLRewrite)是一个强大的功能,它允许开发者隐藏实际的Web页面地址,提供更友好的、可读性强的URL,从而提高用户体验和搜索引擎优化(SEO)。在本文中,我们将深入探讨ASP.NET URL重写的核心概念...

    使用URL Rewrite实现网站的伪静态实例(urlrewritefilter-4.0.3)

    - 在`urlrewrite.xml`中,你可以定义一系列规则,如`&lt;rule&gt;`标签,每个规则包含`&lt;from&gt;`(匹配原始URL)和`&lt;to&gt;`(转换后的URL)等属性。 3. **基本规则类型**: - `Rewrite`: 这是最基本的URL重写,将一个URL...

    UrlRewrite.dll

    UrlRewrite.dll是微软IIS(Internet Information Services)服务器中的一个关键组件,主要负责URL重写功能。在网站开发和管理中,它扮演着至关重要的角色,尤其在优化搜索引擎优化(SEO)、实现友好的URL结构以及...

Global site tag (gtag.js) - Google Analytics