我在IHttpModule
中使用RewritePath()来“路由”到子Web应用程序,如以下IIS布局所示:
例如,当对 / root / bleh 的请求进入时,根应用程序中的HTTP模块重写了 / root / obw 的路径,希望 obw 应用程序将被接管。
除波浪号(〜)无法正确解析外,这通常可以工作:
重写后,代字号运算符解析为根 Web应用程序,而不是 obw Web应用程序。这似乎是RewritePath()
的rebaseClientPath参数要解决的问题,但是更改该参数似乎没有任何区别。
重写URL时,如何使波浪号(〜)运算符正确解析?
最佳答案
这不起作用,因为RewritePath并非旨在将请求发送到其他应用程序。您说它“最有效”,但实际上它没有按照您的想法做,并且正在同一应用程序中处理重写的请求。这就是〜无法解析到子应用程序的原因。
许多事情也不起作用。例如
换句话说,在RewritePath的上下文中,它只是将obw视为普通的子文件夹,而不是任何特殊的东西。
作为替代方案,您可以考虑使用IIS URL Rewriter module,它不会出现此问题。
关于asp.net - 在HttpModule中重写URL时,如何使波浪号(〜)运算符起作用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18005227/