找回密码
 注册
搜索
热搜: 回贴

.net URL重写与伪静态

2010-1-31 07:56| 发布者: admin| 查看: 41| 评论: 0|原作者: 慕容紫英

在ASP。NET层面上将URL重写。用户访问的是类似
http://www.fuck.com/1-345.aspx这样的地址,实际上真实的页面是
http://www.fuck.com/fuck.aspx?male=1&female=345。
要实现这种效果,需要利用一个老外写的一个包(详细请见http://msdn2.microsoft.com/zh-cn/library/ms972974.aspx)。不过他提供了所有的源代码。与其他下载来历不明的DLL方法相比,这种方法更令我们放心。一切尽在掌握。

将这个包编译,然后引用产生的DLL。接着修改 Web.config。加入以下代码



……




~/(\d{1,})-(\d{1,})\.aspx
~/fuck.aspx?male=$1&female=$2


~/fuckyou.aspx
~/fuck.aspx?malename=me&femalename=you



……



可以这还不是伪静态啊。我想达到的效果是输入
http://www.fuck.com/1-345.html ,从而访问
http://www.fuck.com/fuck.aspx?male=1&female=345。
将MSDN这篇文章反反复复的看,都只能处理ASPX文件。怎么办?
主要是输入*.html,IIS会认为这是一个静态页面,根本就到不了ASP.NET这一层,那个引用的包也就无用武之地了。如果能让ASP。NET处理html类型的页面就好了。
结果配置一下IIS就搞定了。
在IIS里,点击指定网站的属性,主目录-配置-映射,添加,可执行文件选:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll
扩展名:.html
勾上“全部动作”和“脚本引擎”
务必取消“检查文件是否存在”(不然的话IIS一看没这个1-345.html,立马返回一个页面不存在的错误)
确定即可。
相应的WEB.CONFIG里也要改改:

~/(\d{1,})-(\d{1,})\.html
~/fuck.aspx?male=$1&female=$2

啊!终于搞定了。我情不自禁地流出了激动的泪水。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/leftfist/archive/2008/02/22/2114090.aspx

最新评论

相关分类

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-30 05:34 , Processed in 0.088067 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

返回顶部