1

我正在尝试创建一个非常简单的 ASP.NET 应用程序,它显示从基于 URL 的数据库中检索到的信息,以类似于 wiki 的方式,但在这种情况下,该站点是只读的。我想要的 URL 示例是:

http://www.foo.com/bar

然后,应用程序将使用“bar”作为 SQL 查询参数来显示来自与“bar”匹配的数据库的信息。

我研究了 IIS6 的许多 URL 重写器选项(这将在专用服务器上),但我仍然不确定该应用程序使用哪一个。

为了澄清一下,我只需要从单个default.aspx文件运行该站点,但我希望它按上述方式工作。整个站点逻辑将非常简单。

我希望在这方面有更多经验的人可以帮助我——我正在寻找最简单的解决方案来解决这个问题。

4

2 回答 2

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 发出请求)

于 2008-12-03T02:11:16.653 回答
0

仅作记录,IIS URL Rewrite 2 支持这一点,您可以安装包含 DB 提供程序的可扩展性示例。仅适用于 IIS 7+。

http://www.iis.net/download/urlrewrite http://code.msdn.microsoft.com/rewriteextensibility

于 2010-12-06T04:35:31.873 回答