您的位置:首页 > 其它

Step1数据系统技术(1.基于404错误的URL重写技术)

2007-11-28 23:25 543 查看
现在第一篇,讨论我的网站之中使用的URL重写技术,实际上,该技术并不是我编写的,可能有用户能够记得,我的网站www.step1.cn原来就是一个博客,那个时候采用的系统是博客园提供的cnblogs程序(我将这个程序改装成能够在当时的虚拟主机上运行,可花了不少功夫),后来我将博客迁到这里之后,对Step1.cn进行大的改版,当时我实在舍不得这套博客程序之中使用的URL重写的技术,因此专门的从那个cnblogs程序之中将相关的代码从其中拆分出来成一个DLL类,在我的网站使用URL重写技术。

当时由于cnblogs.cn这个程序结构相当优秀,所以我更改的并不多,主要有以下几点:

1.基于404错误的URL重写技术。因为有的虚拟主机并不支持URL重写技术,尤其是你要对静态的HTML文件进行URL重写(当然我并没有使用这个技术),可是基本上没有虚拟主机支持对静态的HTML文件进行URL重写(至少我没有用过),于是我想到了一个变通的方法,那就是修改服务器的404错误页面的设置,将该设置指向到一个特定的ASPX文件,再在ASPX文件之中调用cnblogs的URL重写程序。

Error404.aspx的对应类代码:

1 public class Error404 : System.Web.UI.Page

2<HttpHandler pattern="^/place/cn/([%0-9a-zA-Z/]*).aspx$" type="Step1.UrlRewriter.PageHandlerFactory,Step1.UrlRewriter" handlerType="Redirect" pageLocation="/place/Place.aspx?p=$1" />

2
以上的配置,会将网址/place/cn/aaaaaaa.aspx自动在服务端转向到/place/Place.aspx?p=aaaaaaa

详细的内容,可能我在后面讲解其他的技术的时候会重新提到。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: