通常当我收到请求的url时,我使用Request.RawUrl。
这给了/default.aspx例如。
但是最近我的主机改变了一些东西,现在显示了应用程序目录的名称,所以我得到/appdirname/default.aspx。
现在为什么它会给我应用程序的目录?看起来我的网站是另一个网站的子应用程序。因此,当你去mydomain.com时,rawurl将是:
/appdirname/default.aspx
我相信每个域名都有自己在iis中定义的网站,或者我错了。
我不是要求一个解决方法,这应该是非常简单的,我问为什么会发生这种情况以及如何,IIS设置会导致这种情况发生?
PS。
最糟糕的是我与godaddy有这个问题,我很高兴我的主人没有它,但现在两个主机都有同样的问题。
答案 0 :(得分:1)
Request.RawUrl方法返回域声明后的所有内容,因此如果你的完整网址是:
http://www.yourdomain.com:8080/directory/Page.aspx
然后该方法将返回
/directory/Page.aspx
就是这样。这就是它所声称要做的一切。正如您所说,您的托管服务提供商必须更改某些内容,这非常顽皮,并且解决方法应该很容易。他们很可能已经引入了某种网址重定向,但最好的方法是与他们的服务台联系并询问他们发生了什么。我发现大多数成功的托管公司都会及时回答这类问题。否则他们往往会成为以前成功的托管公司。
Ric Strahl对此有所说:http://www.west-wind.com/weblog/posts/132081.aspx