В настоящее время мы переходим с php (apache) на веб-сайт MVC на IIS 7. У нас есть большое количество устаревших URL-адресов для поддержки (чтобы Google был доволен), которые содержат то, что IIS 7 считает недействительными символами, в частности :
и &
.
Мы применили стандартное исправление общего слоя исправлений, чтобы эти специальные символы проходили через, например,
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ASP.NET]
"VerificationCompatibility"=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters]
"AllowRestrictedChars"=dword:00000001
, и хотя теперь мы можем заставить &
работать с двоеточием, произойдет сбой со следующей ошибкой
[NotSupportedException: The given path's format is not supported.]
System.Web.Configuration.ProcessHostMapPath.MapPathCaching(String siteID, VirtualPath path) +868
System.Web.Configuration.ProcessHostMapPath.System.Web.Configuration.IConfigMapPath2.MapPath(String siteID, VirtualPath path) +9
Похоже, что все это учитывается в .NET 4.0, но сейчас нам нужно выпустить версию 3.5.
Кто-нибудь получил поддержку URL-адресов, содержащих двоеточия, работающих на Iis 7 и.NET 3.5?