Как управлять поддоменами в WinHost с помощью IIS7 URL Rewrite 2.0?
Я пробую WinHost и сталкиваюсь с некоторыми проблемами с поддоменами. В 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 дважды.
Поэтому я попытался с помощью перезаписи URL IIS7 указать http://sub1.example.com/ на / sub1. Бен Пауэлл подробно описывает это в своем блоге. Это замечательно, за исключением того, что Request.ApplicationPath теперь является /sub1/path/to/current/page.aspx, что нарушает Темы ASP.Net (и, возможно, другие вещи).
Что я могу сделать, чтобы исправить ApplicationPath? Есть ли лучший способ сделать это?
2 ответа
Я не мог понять, как исправить путь к приложению, поэтому теперь я просто использую модуль перезаписи URL для перенаправления (а не перезаписи) с http://sub.example.com/abc
в http://sub.example.com/sub/abc
, Это не идеально, но это работает. Смотрите мой блог для деталей.
Помимо перенаправления, вам нужно будет пометить каждый сайт как приложение в IIS. WinHost должен иметь панель управления или способ пометить каждый сайт как свое собственное приложение. Это сделает папки типа /sub1/ в качестве корневого приложения.