Мое приложение находится в подпапке 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-адреса.
Не могли бы вы предоставить соответствующие детали 'project.json'? Спасибо –
@MaximeRouiller Извините, это в настоящее время проект MVC 5.2 без файла 'project.json'. Нужна ли нам такая работа? – cheeesus
Havn't слишком много смотрел на Asp.net 5, это все еще только Preview, я считаю, имел несколько проблем. Но я знаю, что вы можете изменить wwwroot так, как вам хочется, в одном из новых конфигурационных файлов .json. –