我正在尝试创建一个非常简单的ASP.NET应用程序,它以类似于wiki的方式呈现基于URL从数据库中检索的信息,但在这种情况下,该站点是只读的。我想要的URL的一个例子是:
http://www.foo.com/bar
然后,应用程序将使用“bar”作为SQL查询参数来显示数据库中与“bar”匹配的信息。
我已经研究了IIS6的许多URL重写器选项(这将在专用服务器上),但我仍然不确定将哪一个用于此应用程序。
或许澄清一下,我只需要从单个default.aspx
文件运行该站点,但我希望它能够如上所述工作。整体网站逻辑非常简单。
我希望在这方面有更多经验的人可以帮助我 - 我正在寻找能解决这一问题的最简单的解决方案。
答案 0 :(得分:2)
如果已注册该扩展,IIS6仅将请求定向到asp.net引擎。默认情况下,注册的扩展名是aspx ascx asmx等...
如果您不能在查询字符串参数(例如foo.com/default.aspx?query=bar)上建立数据库查询,那么您在IIS6上可以做的最好的就是通配符映射。基本上这意味着每个请求都将被定向到asp.net(包括图像脚本和样式)。显然这会降低性能。
要启用通配符映射,请在IIS管理器中右键单击您的站点,然后转到属性 - >主页目录 - >配置 - >底部的映射单击插入并键入asp.net isapi dll的路径(您可以从上面的aspx扩展中复制它)并取消选中“验证文件是否存在”。
完成更改后,您将可以请求foo.com/bar
(另一种方法可能是向foo.com/default.aspx/bar发出请求)
答案 1 :(得分:0)
只是为了记录,IIS URL Rewrite 2支持此功能,您可以安装包含数据库提供程序的可扩展性示例。仅适用于IIS 7+。
http://www.iis.net/download/urlrewrite http://code.msdn.microsoft.com/rewriteextensibility