ASP.NET MVC ActionLink vs. URL Rewrite
-
27-09-2019 - |
Вопрос
Есть веб-приложение ASP.NET MVC 2, давайте назовем это myapp.com. Я хочу динамические субдомены (пользовательские созданные категории), как fore.myapp.com. Поэтому я настроил URL Rewrite с правилом, перезаписывающим что-нибудь. MyApp.com -> myapp.com/something (который обрабатывается MVC Next ..). Но первое действие ActionLink бросает исключение
System.Web.httpexception: не может использовать ведущую .. Для выхода выше верхнего каталога
Потому что, очевидно, URL-адрес еще что-нибудь .myapp.com для него. Есть ли элегантное решение для этого? Я не хочу перенаправить (я хочу сохранить URL-то .myapp.com в браузере). Также я не люблю идею написания пользовательских действий, некоторые из самых основных вещей в MVC ...
спасибо ребята :)
Римский
Решение
Первое, что вы должны понять, это разница между маршрутизацией и переписыванием. Это лучше всего можно описать в этом блоге:
http://www.coderjournal.com/2010/03/difference-between-ruoting-rewriting/
Как и последующая статья, также создан проект по редактированию маршрутизации, встроенный с переписыванием, чтобы помочь продемонстрировать различия и что более важно, как их можно использовать вместе.
http://www.coderjournal.com/2010/03/editable-mvc-routes-apache-style/
Но чтобы ответить на ваш вопрос более напрямую, вам необходимо убедиться, что Rewriter URL обрабатывается до маршрутизации, чтобы все было изменено и нормализовано для вас впереди.