使用 ASP.NET 波形符 (~) 维护 ISAPI 重写路径
我的团队正在从 ASP.NET 3.5 升级到 ASP.NET 4.0。我们当前正在使用 Helicon ISAPI Rewrite 将 http://localhost/
映射到 http://localhost/
其中
是查询字符串变量,
是虚拟目录(自然)。
升级之前,波浪号 (~) 解析为 http://localhost/
(我希望它这样做),升级之后,波浪号解析为 < code>http://localhost/
查询字符串是必需的。
我想避免走上用相对路径替换所有内容的道路,因为我们系统中有几个功能使用整个 URL 而不仅仅是相对路径。
就其价值而言,我在 Windows 7 中使用 IIS7、带有 ASP.NET 4.0 的 Visual Studio 2010 和 64 位 Helicon ISAPI Rewrite。如果我切换回 ASP.NET 3.5 版本,那么它仍然可以正常工作(让我相信 IIS 中没有任何更改,除非它位于 4.0 应用程序池中 - 当我在 3.5 和 4.0 之间来回切换时,我必须更改应用程序池在 IIS 中)。
有什么想法吗?提前致谢!
My team is upgrading from ASP.NET 3.5 to ASP.NET 4.0. We are currently using Helicon ISAPI Rewrite to map http://localhost/<account-name>/default.aspx
to http://localhost/<virtual-directory>/default.aspx?AccountName=<account-name>
where <account-name>
is a query string variable and <virtual-directory>
is a virtual directory (naturally).
Before the upgrade the tilde (~) resolved to http://localhost/<account-name>/...
(which I want it to do) and after the upgrade the tilde resolves to http://localhost/<virtual-directory>/...
which results in an error because the <account-name>
query string is required.
I'd like to avoid going down the road of replacing everything with relative paths because there are several features in our system that use the entire URL instead of just the relative path.
For what it's worth I'm using IIS7 in Windows 7, Visual Studio 2010 with ASP.NET 4.0 and the 64 bit Helicon ISAPI Rewrite. If I switch back to the ASP.NET 3.5 version then it still works fine (leading me to believe nothing changed in IIS unless it's within the 4.0 app pool - when I switch back and forth between 3.5 and 4.0 I have to change the app pool in IIS).
Any ideas? Thanks in advance!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
IIS 7 具有良好的 http 重定向支持。因此您可能不再需要使用 ISAPI 过滤器
http: //technet.microsoft.com/en-us/library/cc732969(WS.10).aspx
使用 ISAPI 的另一种方法是使用 HTTP 模块重定向。
http://weblogs.asp.net/fmarguerie/archive/ 2004/11/18/265719.aspx
IIS 7 has a decent http redirect support. so you may not need to use that ISAPI filter anymore
http://technet.microsoft.com/en-us/library/cc732969(WS.10).aspx
another way around using ISAPI would be to use HTTP Module redirect.
http://weblogs.asp.net/fmarguerie/archive/2004/11/18/265719.aspx