Я работаю с сайтом ASP.NET MVC, который будет использовать CMS-контроллер для всех страниц сайта, кроме главной страницы. Здесь идея:
Домашний контроллер:
- www.site.com
- www.site.com/default.aspx
Контроллер CMS:
- www.site.com/about
- www.site.com/agenda/schedule
- www.site.com/monkey/eats/spaghetti
- (почти все остальное)
На этой странице перечислены некоторые параметры настройки маршрутизации по умолчанию:
- Оставьте Default.aspx незанятым и unredirected как точку входа в ваше приложение - со статическими ссылками, которые передают ваших пользователей в часть MVC приложения (или другой статический контент).
- Перенаправить Default.aspx в код позади, используя код обработчика событий Page_Load или использовать Response.Redirect( "~/home" ), чтобы отправить их на главный контроллер (хотя это перенаправление туда и обратно).
- Переименовать или удалить Default.aspx. Несмотря на предупреждение в разметке, в котором указано, что default.aspx требуется для обеспечения того, чтобы ASP.NET MVC активировался IIS, когда пользователь делает запрос "/"... он фактически не нужен ни серверу VS dev, ни IIS7, Запрос по умолчанию останется корневым запросом приложения "/" и будет пойман по маршруту по умолчанию и отправлен на домашний контроллер.
Я предполагаю, что еще один вариант - просто использовать один контроллер с некоторой логикой, которая обнаруживает случай с домашней страницей, но, похоже, это борьба с концепцией.
Как вы рекомендуете настраивать определенный маршрут для домашней страницы сайта?