Скотт Хансельман опубликовал хорошее резюме по , разрешившему недопустимые символы в пути.
Если вы действительно хотите разрешить запрещенные символы, удалите их из списка, отредактировав свой файл web.config (это, вероятно, будет работать только в .NET 4 и IIS7):
<system.web>
<httpRuntime requestValidationMode="2.0" relaxedUrlToFileSystemMapping="true" requestPathInvalidCharacters="<,>,*,%,:,&,\" />
</system.web>
Возможно, вам также понадобится hbruce :
<system.webServer>
<security>
<requestFiltering allowDoubleEscaping="true"/>
</security>
</system.webServer>
Есть некоторые определенные пути, которые не будут работать (например, / search /%), так как вы получите сообщение 400 «Bad Request - Invalid URL». Единственный обходной путь, который я нашел, состоит в том, чтобы использовать эту часть как строку запроса: / search? Q =% с вышеуказанными шагами.