2008-10-19 36 views
2

什么是最好的方式来获得一个漂亮的干净的URL结构,如堆栈溢出?如何让虚拟URL指向部署在IIS上的asp.net中的.aspx页面? (最好没有IIS)

我需要为此使用IIS吗?或者有没有一种方法可以在asp.net中使用某种映射文件来完成它?

我希望这个网站有数百页,并已部署。
我想要一个方法,需要尽可能少的变化。

注:

  • 想如何使友好
  • 的URL我想就如何最好地管理这些友好的URL,以及如何创建映射意见建议。

我基本上都希望每个以aspx结尾的路径都没有aspx扩展名,而是看起来像是一个内含index.aspx的文件夹。

http://www.blahblahblahblahblah7CEE53E1.com/test.aspx

- >

http://www.blahblahblahblahblah7CEE53E1.com/test/

编辑:我正在从我的理解,你正在寻找一种工具来帮助您映射IIS 6.0

回答

3

也许urlMappings可以为你工作:

<system.web> 
    <urlMappings enabled="true"> 
    <add url="~/test/" mappedUrl="~/test.aspx"/> 
    </urlMappings> 

为了使它在IIS6你的工作,以使通配符映射。

3

如果是这样的话,你可以尝试URL重写模块的“user friendly url - rule template”功能(IIS7)

规则模板用于提供一定的情况下创建一个或多个重写规则的简单方法。 URL重写器模块包含一些常用使用场景的几个规则模板。除了URL重写模块UI,还提供了一个插入自定义规则模板的框架。

2

Stackoverflow使用System.Web.Routing。它最初来自asp.net MVC,但可用于任何asp.net应用程序。我不确定将路由改装到现有的应用程序是多么容易或很难。

2

我一直在使用一种叫做Ionic Rewriter

它将使用正则表达式的扩展名的URL改写为处理物理网址工具。用户只能看到扩展名,但Web服务器会看到.aspx等。

它似乎工作得非常好,配置起来非常简单。

1

我不知道IIS6.0是否支持它,但我使用网络。sitemap,我添加一个属性,每个节点等于我想要的漂亮的名字,然后用Application_onBegin我将请求的漂亮url映射到站点地图中的一个...

你问最好的方法,但我不认为有一种“最好”的方式,我看到人们从xml文件中提供漂亮的名字,其他人依赖于IIS7.0重写功能

相关问题