惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

有赞技术团队
有赞技术团队
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
IT之家
IT之家
博客园 - 【当耐特】
罗磊的独立博客
Stack Overflow Blog
Stack Overflow Blog
MyScale Blog
MyScale Blog
WordPress大学
WordPress大学
The GitHub Blog
The GitHub Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Hugging Face - Blog
Hugging Face - Blog
I
InfoQ
B
Blog RSS Feed
腾讯CDC
云风的 BLOG
云风的 BLOG
N
Netflix TechBlog - Medium
Apple Machine Learning Research
Apple Machine Learning Research
GbyAI
GbyAI
雷峰网
雷峰网
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
D
DataBreaches.Net
The Cloudflare Blog
V
V2EX
S
SegmentFault 最新的问题

博客园 - waemz

数学之美 系列十八 - 矩阵运算和文本处理中的分类问题 文本分类(二)特征权重量化器(文档转向量表示) 文本分类(一)封装分词器 转嘉士伯的Java小屋写的关于编码的文章(三)网页文件的编码 转嘉士伯的Java小屋写的关于编码的文章(二)GB2312,GBK与中文网页 转嘉士伯的Java小屋写的关于编码的文章(一)编码字符集与字符集编码的区别 SVM入门(三)线性分类器Part 2 SVM入门(一)SVM的八股简介 SVM入门(二)线性分类器Part 1 人工神经网络框架AForge学习(三):后向传播学习算法 人工神经网络框架AForge学习(二):Sigmoid激活函数 人工神经网络框架AForge学习(一) 基于朴素贝叶斯分类器的文本分类算法C#版(二) 基于朴素贝叶斯分类器的文本分类算法C#版(一) AderTemplate模版引擎使用分析(二) AderTemplate模版引擎使用分析 深入浅出工厂模式 在Web应用程序中执行计划任务(多线程) 您未必知道的Js技巧
ASP.NET纯代码实现伪静态地址(URL重写)
waemz · 2007-06-14 · via 博客园 - waemz

本人才疏学浅,具体实现原理不敢多说,仅仅写出使用方法,供大家参考.(本例用Http模块重写url)
一实现ShowPlay1.aspx重写到ShowPlay.aspx?vid=1的方法:
1  下载本dll,放到网站跟目录下bin目录下:
http://www.ckcom.cn/urlrewriter.rar

2  在Web.Config的<system.web>和</system.web>添加以下节点:

<httpModules>
   <add type="URLRewriter.ModuleRewriter, URLRewriter" name="ModuleRewriter" />
</httpModules>

3 在Web.Config的<configuration>和</configuration>添加以下节点:

<configSections>
    <section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" />
 </configSections>

<RewriterConfig>
  <Rules>
   <!-- 重写规则-->
   <RewriterRule>
    <!--要实现的url格式-->
    <LookFor>~/ShowPlay-(\d{1,4})\.aspx</LookFor>
    <!--真实的url地址.$1.$2,$3...$N代表正则匹配的第N个表达式-->
    <SendTo>~/ShowPlay.aspx?vid=$1</SendTo>
   </RewriterRule>
  </Rules>
 </RewriterConfig>

4.在网页中添加类似 ShowPlay-1.aspx 的连接 将被重写到 ShowPlay.asp?vid=1

二.实现http://www.ckcom.cn/ShowPlay1/重写到http://www.ckcom.cn/ShowPlay.aspx?vid=1

方法与一的步骤相同,需要额外保证:将Default.aspx添加到网站默认主文档,网站目录下要存在ShowPlay1目录 并且ShowPlay1目录下要有Default.aspx.
相应的重写规则应改为

    <!--要实现的url格式-->
    <LookFor>~/ShowPlay-(\d{1,4})/Default\.aspx</LookFor>
    <!--真实的url地址.$1.$2,$3...$N代表正则匹配的第N个表达式-->
    <SendTo>~/ShowPlay.aspx?vid=$1</SendTo>

用此方法注意:
1.不能使用Windows身份验证用户权限. 应使用Form验证,在web.config配置为:<authentication mode="Forms" />
2.使用Request.ServerVariables["script_name"]获得的路径仍然是:ShowPlay.asp?vid=1
3.被重写的地址如果回发,重写将失效 显示的地址将是ShowPlay.asp?vid=1
4. 后缀名必须为.aspx.如果是其他自定义后缀名,如.net  请在iis将.net映射到aspnet_isapi.dll.这样.net请求才能
到达asp.net引擎.

水平有限 到此即止. 详细的原理和问题解决方法请参考:
http://www.microsoft.com/china/msdn/library/webservices/asp.net/URLRewriting.mspx?pf=true