URL重写 UrlRewrite
为什么要URL重写?
1、有利于SEO,带参数的URL权重较低;
2、地址看起来更正规,推广uid
伪静态:看起来像普通页面,而非动态生成的页面。
原理:在Global.asax的Application_BeginRequest 中读取Request.Url 得到请求的URL(View-3.aspx)
然后用HttpContext.Current.RewritePath(ReWriteUrl)进行重写(也就是交由另外一个页面处理这个请求)(View.aspx?tid=3格式)
http://www.cnblogs.com/hd/archive/2005/06/20/177633.html
也可以使用微软的URLRewrite,只要修改配置文件就可以进行URL重写
案例:URL重写,将 view-3.aspx之类的重写成 view.aspx?id=3
1.View.aspx.cs的设计,lbmsg 是一个服务端Lab控件
string id = Request["id"];
if (id != null)
{
int val = Convert.ToInt32(id);
switch (val)
{
case :
lbmsg.Text = "第一名!就是你!";
break;
case :
lbmsg.Text = "第二是最好的!";
break;
case :
lbmsg.Text = "虽然你是第三,我相信你能成功!";
break;
default:
lbmsg.Text = "革命尚未成功!同志仍需努力!";
break;
}
}
2.Global.asax 设计
protected void Application_BeginRequest(object sender, EventArgs e)
{
Regex reg = new Regex(@".+View-(\d+).aspx"); //定义一个正则表达式,()可用于分组
var match = reg.Match(HttpContext.Current.Request.Url.AbsolutePath); //匹配当前用户输入的URL路径
if (match.Success) //判断是否匹配成功
{
string id = match.Groups[].Value; //得到第一组的值
HttpContext.Current.RewritePath("View.aspx?id=" + id); //将页面重定向,转交请求
}
}
3. 当用户输入 View-3.aspx 时,自动当 View.aspx?id=3 的处理
URL重写 UrlRewrite的更多相关文章
- windows2008R2下iis7.5中的url重写(urlrewrite)
以前在windows2003里,使用的是iis6.0,那时常使用的URL重写组件是iisrewrite,当服务器升级到windows2008R2时,IIS成了64位的7.5,结果iisreite组件是 ...
- springMVC学习之url重写:urlrewrite with tuckey UrlRewriteFilter
在开发网站时地址栏的一些信息是我们不希望让客户看到,所以在开发时候就会涉及到url重写的问题. 下面介绍一种常用的url地址重写的方法. 1.利用maven下载相关jar文件,pom文件配置如下: & ...
- UrlRewrite(URL重写)--ASP.NET中的实现
概述 今天看了下URL重写的实现,主要看的是MS 的URL Rewrite. URL重写的优点有:更友好的URL,支持老版本的URL URL重写的缺点有:最主要的缺点是性能低下,因为如果要支持无后缀的 ...
- ASP.NET伪静态 UrlRewrite(Url重写) 实现和配置
核心提示:大家一定经常在网络上看到很多网站的地址后缀都是用XX.HTML或者XX.ASPX等类似静态文件的标示来操作的吧,那么大家有怀疑过他真的是一个一个的静态生成的文件么,静态文件的生成的优缺有好有 ...
- 网站URL重写(Java UrlRewrite 的使用)
现在大部分的网站和商城都会使用到URL重写,接触到这个,也是因为正在做的电子商务商城.URL重写,是将原有的URL采用另一种规则来显示,使得用户方便访问同时也屏蔽一些信息. 在此说下它的好处,在开发过 ...
- url重写(urlrewrite)的一些系统变量
学php也有3年了,一直对url重写不是很了解,本学用到的话都是百度一下,再复制作简单修改,一些变量的参数都不太了解什么意思,难得今天有时间,做个笔记吧! 1)可用的一些系统变量,在重写条件和重写规则 ...
- windows2008(64位)下iis7.5中的url伪静态化重写(urlrewrite)
以前在windows2003里,使用的是iis6.0,那时常使用的URL重写组件是iisrewrite,当服务器升级到windows2008R2时,IIS成了64位的7.5,结果iisreite组件是 ...
- IIS 无法安装URL重写模块的解决办法 UrlReWrite (.NET`SQL技术交流 群号206656202)
下载和安装URL Rewrite IIS8默认是没有安装URL重写工具的,必须要自己下载安装. 如果IIS上默认有安装Web平台安装程序,我们可以使用平台自动安装URL Rewrite重写工具,打开I ...
- Struts2进行url重写
一般来说我们在用Struts2进行开发的时候我们的访问url都是带上一些类似于.action或者.do还有用?传递参数,这种访问方式与静态页面的访问相比,我就可以用一些开源的组件来进行url的重写,以 ...
随机推荐
- POJ2115 - C Looooops(扩展欧几里得)
题目大意 求同余方程Cx≡B-A(2^k)的最小正整数解 题解 可以转化为Cx-(2^k)y=B-A,然后用扩展欧几里得解出即可... 代码: #include <iostream> us ...
- 事件demo
delegate void MoveEventHandle(object source,MoveEventArgs e); public class MoveEventArgs:EventArgs { ...
- vi / vim 删除以及其它命令
删除一行:dd 删除一个单词/光标之后的单词剩余部分:dw 删除当前字符:x 光标之后的该行部分:d$ 文本删除 dd 删除一行 d$ 删除以当前字符开始的一行字符 ndd 删除以当前行开始的n行 d ...
- google搜索新姿势
大前提:英文Google→http://www.google.com或http://www.google.cn 第一篇 在搜索框上输入:"indexof/"inurl:lib 再按 ...
- 恼人的Visual Studio 2010崩溃重启问题
上周时Visual Studio 2010突然出现崩溃现象.在源文件修改只要一编译,马上就崩溃,而且还不弹出任何异常窗口,严重影响软件开发工作. google了无数解决方案 试了下面这些方法: 1)h ...
- twitter的snowflake算法(C#版本)
转自:http://blog.csdn.net/kinwyb/article/details/50238505 使用twitter的snowflake算法生成唯一ID. 在分布式系统中,需要生成全局U ...
- ARR状态监控脚本
##################################################################################### # THIS IS SAMP ...
- oracle db mos文章 翻译系列
http://blog.csdn.net/msdnchina/article/details/38377125
- C#泛型对类型参数的推断
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- 关于Bufferedreader的功能扩写
package cn.hncu.pattern.decorator.v1; import java.io.FileReader;import java.io.IOException; public c ...