(Примечание: попытался найти похожий вопрос, но, похоже, мой ближайший вопрос по-прежнему не соответствует моему вопросу. Т.е. MVC - корень приложения появляется дважды в URL с помощью Url.Content / Url.Action )
В настоящее время у меня есть два приложения ASP.NET MVC 3 RC, работающие в одном домене, т.е.
mydomain.com / app1
mydomain.com / app2
Теперь, поскольку это отдельное приложение, я зарегистрировался для другого доменного имени и включил переадресацию маски в одно из приложений (т. Е. http://foo.com загрузит http://mydomain.com/app1, а в браузере оно будет толькоshow http://foo.com, not http://mydomain.com/app1)
Ну, вот где MVC начинает получать некоторые жалобы. Оба Url.Content () и Html.Action () генерируют неожиданные URL. Например, в случаеHtml.Action (), если у меня есть @Html.ActionLink("About", "Index", "About")
, я ожидаю http://foo.com/about,, но в итоге получаю http://foo.com/app1/about
, потому что http://foo.com/app1/about переводится в http://mydomain.com/app1/app1/about,очевидно, что ссылка не будет работать.
Аналогично, для Url.Content, если у меня есть href="@Url.Content("~/Content/Site.css")"
, браузер не сможет загрузить файл.ylesheet, потому что он думает, что местоположение находится в http://foo.com/app1/Content/Site.css, вместо http://foo.com/Content/Site.css
Есть ли способ, я могу заставить MVC забыть о своем начальном каталоге (т.е. удалить " app1 /"из сгенерированного URL?)
Спасибо за чтение, и, пожалуйста, дайте мне знать, если здесь нужна дополнительная информация.