ASP.NET MVC ActionLink против перезаписи URL - PullRequest
4 голосов
/ 15 апреля 2010

Существует веб-приложение ASP.NET MVC 2, назовем его myapp.com. Я хочу динамические субдомены (категории, созданные пользователем), например что-то. Myapp.com. Поэтому я настроил перезапись URL с переписыванием правил что-то. Myapp.com -> myapp.com/something (который обрабатывается MVC далее ..). Но первый ActionLink создает исключение

System.Web.HttpException: невозможно использовать ведущий .. для выхода из верхнего каталога

потому что, очевидно, URL для него все еще что-то .myapp.com. Есть ли элегантное решение для этого? Я не хочу перенаправлять (я хочу сохранить URL-адрес что-то в браузере). Также мне не нравится идея написания пользовательских ActionLink, некоторых из самых простых вещей в MVC ...

спасибо, ребята:)

Roman

1 Ответ

2 голосов
/ 15 апреля 2010

Первое, что вы должны понять, это разница между маршрутизацией и перезаписью. Это может лучше всего быть описано этим блогом:

http://www.coderjournal.com/2010/03/difference-between-routing-rewriting/

В продолжение статьи также был создан проект для редактирования Routing inline с Rewriting, чтобы помочь продемонстрировать различия и, что более важно, как их можно использовать вместе.

http://www.coderjournal.com/2010/03/editable-mvc-routes-apache-style/

Но чтобы ответить на ваш вопрос более прямо, вам нужно убедиться, что перезаписывающий URL обрабатывается перед маршрутизацией, чтобы все было изменено и нормализовано для вас заранее.

...