在ASP.NET中重写URL?

Pra*_*ant 12 c# asp.net web-config url-rewriting

我正在使用ASP.NET C#.

如何实现类似于StackOverflow.com的URL重写过程?

http://stackoverflow.com/questions/358630/how-to-search-date-in-sql
Run Code Online (Sandbox Code Playgroud)

此外,URL中的"358630"等值的含义是什么?这是问题ID(他们用来从表中获取数据的基础)?无论是什么,在我的应用程序中,我使用"ID"字段识别记录.该字段是SQL表中的标识列.现在,我的网址如下:

http://myweb.com/showdetails.aspx?id=9872
Run Code Online (Sandbox Code Playgroud)

但我希望他们看起来像:

http://myweb.com/showdetails/9872/my_question_title
Run Code Online (Sandbox Code Playgroud)

要么:

http://myweb.com/9872/my_question_title
Run Code Online (Sandbox Code Playgroud)

或者无论什么最好的方式,这将很好地搜索机器人.

我的应用程序托管在Go Daddy的共享托管服务上,我觉得没有自定义的ASP.NET"HTTP模块"或没有用于URL重写的自定义DLL正在他们的服务器上运行.我尝试了很多样品,但没有运气!

我发现Stack Overflow托管在Go Daddy(共享主机?)上.也许Stack Overflow的方法对我有用.

Fra*_*nov 12

SO正在使用ASP.NET MVC.您真的需要详细阅读MVC URL重写的工作原理,但其中的要点是URL中的"问题"部分是Controller类的名称(大致对应于URL中的"showdetails")和number是该Controller上默认操作的ID参数(与URL中的参数"id"相同).