0

我有一个应用程序,它被要求为使用大量查询字符串值的动态页面创建一个友好的 url。在互联网上进行一些研究后,我发现我需要创建一个 HttpModule 或 HttpHandler 来执行路由,然后在 IIS 中设置一个通配符映射到 aspnet_isapi.dll 的.Net v1.1(删除验证文件存在复选框)。

使用虚拟目录进行测试,在我的 XP Pro 机器上本地一切正常。

当我将它提升到测试环境(Server 2003)时,直接访问页面和路由工作正常;但是,默认文档不再有效。我在网上找到了一个参考,指出由于 ASP.Net WP 和 IIS6 的分离,IIS6 在默认文档逻辑之前处理通配符映射。

我试图更新我的 HttpHandler 以考虑 / 路由;但是,路由页面上的代码不再起作用。在 Web.Config 中,我尝试使用路径作为 * 以及 / 并获得相同的响应。我也在使用我觉得不正确的 Response.Redirect 。

我也尝试过 URLRewriter.net;然而,在花了几个小时试图让它工作后它没有工作(它只是因为某种原因不会在这个 asp.net 1.1 应用程序中路由)。

关于可能是什么原因的任何想法,或者我如何将我的路由带到默认页面和我的特定页面设置,同时不理会其余部分?

4

1 回答 1

0

我在 URLRewriter 的 README 信息中发现了一些拼写错误。根据在线文档而不是二进制文件附带的示例对其进行配置后,我能够让它工作并在本地解决我的问题。

在我将代码提升到我的测试服务器后,预期的路由正在运行,但默认的域路由仍然没有。我稍微修改了默认路由的 URL 模式,一切都开始工作了。

于 2008-12-24T16:53:24.407 回答