我正在尝试温豪斯我在子域名方面遇到了一些问题。在 WinHost 上,每个托管帐户可以有多个子域名,但每个子域名都指向根网站。例如,您可以拥有 www.example.com、sub1.example.com 和 sub2.example.com,但它们都显示内容http://www.example.com/。
其他主机允许您将子域名指向您网站中的子文件夹。这将允许您将 sub1.example.com 指向 /sub1,将 sub2.example.com 指向 /sub2,将 www.example.com 指向 /。
WinHost 建议使用asp/aspx 页面重定向http://sub1.example.com到http://sub1.example.com/sub1,它指向 /sub1。虽然这可行,但我不希望 URL 中出现两次子域名。
所以我尝试使用 IIS7 URL Rewrite 来指向http://sub1.example.com到 /sub1。Ben Powell 在他的博客。这很好,但 Request.ApplicationPath 现在是 /sub1/path/to/current/page.aspx,这会破坏 ASP.Net 主题(可能还有其他东西)。
我该怎么做才能修复 ApplicationPath?有没有更好的方法来实现这一点?
答案1
除了重定向之外,您还需要在 IIS 中将每个站点标记为应用程序。WinHost 应该有一个控制面板或方法,让您将每个站点标记为自己的应用程序。这将使 /sub1/ 之类的文件夹成为根应用程序。
答案2
我不知道如何修复应用程序路径,所以现在我只是使用 URL 重写模块将 重定向(而不是重写)到http://sub.example.com/abc
。http://sub.example.com/sub/abc
这不是理想的,但它有效。请参阅我的博客文章了解详情。