Пространство в маршрутизации дает 404 - PullRequest
2 голосов
/ 30 апреля 2009

У меня в настоящее время определен этот маршрут (среди прочих): « {controller} / {action} / {id} / {обозначение} », являющееся:

  • «id» моего первичного ключа
  • «обозначение» используется только для SEO и не учитывается.

Теперь моя проблема: «http://server/Home/Index/1/teste" работает, но« http://server/Home/Index/1/teste » с пробелом в конце не .

IIS дает мне 404 , а mvc даже не запускается для этого запроса.

Кто-нибудь испытывал такое поведение? Что-нибудь, что мне нужно изменить?

С наилучшими пожеланиями

Ответы [ 3 ]

2 голосов
/ 30 апреля 2009

Пробел не может использоваться в качестве простого текстового символа в URL. Вы должны закодировать его как:

%20

1008 * Е.Г. *

http://www.testDomain.com/test%20page
0 голосов
/ 31 января 2011

Посмотрите на этот пост:

"Ресурс не найден." ошибка при наличии "точки" в конце URL

говорит о схожей проблеме с '.' (точка) символ в конце URL. Думаю, это та же проблема, что и у вас.

0 голосов
/ 30 апреля 2009

Пробел является недопустимым символом в URL. Браузер не должен даже отправлять его.

Если вы вызываете это в коде, попробуйте использовать HttpUtility.UrlEncode( path ) перед отправкой / перенаправлением.

...