2015-11-12 3 views
1

Мое приложение находится в подпапке wwwroot/site1, но я делаю его доступным в корне домена www.mydomain.com с правилом входящего URL-адреса.Удалить вложенную папку из созданных каркасом URL-адресов в ASP.NET MVC?

Это прекрасно работает, но проблема заключается в том, что ASP.NET MVC генерирует URL-адресов с/site1 подпапок, так как он не знает о правиле перезаписи на уровне IIS.

Один из способов исправить это было бы создание исходящего правила, но я думаю, что должен быть более элегантный способ. Я бы предпочел справиться с этим на уровне приложения.

Есть ли способ сообщить ASP.NET MVC удалить часть /dga из всех сгенерированных URL-адресов? В частности, следующие авторы URL:

Html.ActionLink(...) 
Url.Action(...) 

return RedirectToAction(...) 

Конечно, я мог бы просто использовать метод расширения, как это:

public static string ReplaceSubfolder(this string str) // and other types 
{ 
    return str.Replace("/site1", ""); 
} 

Html.ActionLink(...).ReplaceSubfolder() 
Url.Action(...).ReplaceSubfolder() 

return RedirectToAction(...).ReplaceSubfolder() 

, но это еще менее элегантно. Я ищу способ повлиять на маршрутизацию, которая генерирует URL-адреса.

+1

Не могли бы вы предоставить соответствующие детали 'project.json'? Спасибо –

+0

@MaximeRouiller Извините, это в настоящее время проект MVC 5.2 без файла 'project.json'. Нужна ли нам такая работа? – cheeesus

+0

Havn't слишком много смотрел на Asp.net 5, это все еще только Preview, я считаю, имел несколько проблем. Но я знаю, что вы можете изменить wwwroot так, как вам хочется, в одном из новых конфигурационных файлов .json. –

ответ

0

Оказывается, это очень легко сделать с IIS. Просто создайте отдельный веб-сайт для каждого домена, выберите подпапку, в которой работает приложение (например, wwwroot/site1), настройте привязки (HTTP и/или HTTPS), чтобы прослушать нужный домен. Когда создается веб-сайт, Convert to application.. соответствующая папка, и все должно выглядеть в корне домена.

 Смежные вопросы

  • Нет связанных вопросов^_^