Я работаю над проектом ASP.NET MVC2. Проблема в том, что когда строка, которая будет переписана в URL, содержит специальный символ, такой как обратный слеш или вопросительный знак, URL будет неправильным, даже если я его кодировал ранее.
Например:
http://domain.com/Product/p001%5C2-2
Как я могу получить это правильно?
Попробуйте использовать Html.Encode для разрешения обратной косой черты. Если обратный слеш является единственным «специальным» символом в вашем идентификаторе, вы можете использовать Заменить («% 5C», «\»).
Вы проверили свою карту маршрутизации? должен быть маршрут как
Продукт / {prodictID}
У меня была похожая проблема с% 2F в моих URL. Попробуйте добавить флаг nOrmalize к вашему rewriteRule.
Пример с флагом нормализации "O", выделенным жирным шрифтом:
RewriteRule ^ (. *) Index.html.