Я запускаю кучу приложений на discountasp.net с аддоном субдомена. Поскольку с общим хостингом у меня не может быть нескольких сайтов IIS, я также написал модуль HTTP, который позволяет сайтам в подпапках работать так, как если бы они работали в корневом каталоге. Так, например, вместо размещения моего блога на dandoes.net/blog, я могу разместить его на blog.dandoes.net (на самом деле это действительно dandoes.net). Это отлично работало до сих пор, когда я пытаюсь использовать его вместе с MVC.
HtmlHelper генерирует свои URL-адреса на основе виртуального пути приложения, а не данных пути в URL-адресе. Так что, если я нахожусь на blog.dandoes.net и хочу добавить ссылку на blog.dandoes.net/Samples, у меня может быть такой код:
<%=Html.ActionLink("Samples", "Index", "Samples")%>
В обычных обстоятельствах это сгенерирует URL-адрес blog.dandoes.net/Samples, но вместо этого он генерирует blog.dandoes.net/Blog/Samples, поскольку виртуальный каталог /Blog.
.
Я мог бы, вероятно, занять 5 минут и написать что-нибудь по-настоящему хакерское, чтобы делать то, что я хочу, но я думаю, что было бы действительно интересно, если бы я мог заставить среду MVC делать то, что я хочу.
Итак, есть ли способ заставить его отображать правильные URL?