在asp.net / URL中获取URL之后的文本重写(排序!)

时间:2010-06-08 12:50:52

标签: c# url url-rewriting

我的应用是一个非常简单的“单页”类型应用 - 它有Default.aspx

我基本上试图得到,例如:

  

www.myappurl.com/这是我的文字

我想从上面的例子中抓住"this is my text"。 这将显示在页面上(暂时) 我真的不想使用任何补充网址来重写这个... (我的托管服务提供商使用IIS6)

我尝试使用404处理程序,但这有点长,我正在使用共享主机,无法在自定义404页面上设置“执行网址”。

还有其他想法吗?

1 个答案:

答案 0 :(得分:0)

您可以为具有* is扩展的所有请求添加映射到ASP.NET isapi dll(GET / POST)谓词。在IIS中映射扩展时,您需要取消选中“验证文件在磁盘上”复选框。 (在IIS7集成模式下,您还可以在web.config中映射扩展名)。请注意,这将导致asp.net提供的所有内容,甚至图像和脚本文件,这可能会减慢速度。

然后在web.config中创建一个处理程序映射到您创建的http处理程序。 从那里,在处理程序的ProcessRequest()方法中,您可以访问生成请求的HttpContext,并可以从那里操作URL。

这是最简单的选项,您也可以创建一个HttpModule,或者将根目录重定向到http://www.domain.com/default.aspx/this的默认页面是我的文本,在default.aspx的代码隐藏中,您将能够获得页面后面的文字和斜杠。