W jednym z projektów miałem następujące zadanie do wykonania. Przekierować stare adresy na nowe. Pech chciał, że w starych adresach pojawiały się znaki ‘:’ (np. /adres/strona:2).

Niestety, jeśli nie wiecie, to IIS nie za dobrze radzi sobie z takimi znakami. Gdy wprowadzimy url zawierający znak naszym oczom ukaże się YSOD z następującym komunikatem:

A potentially dangerous Request.Path value was detected from the client (:)

Ten komunikat możemy obejść poprzez odpowiednie ustawienie parametru requestPathInvalidCharacters i usunięcie z niego dwukropka tak jak sugeruje odpowiedź na SO

A jak przy stronach z nieszablonowymi znakami (tu przecinek) już jesteśmy, to aby poprawnie zadziałało pobieranie liczby polubień takiej strony – musimy wykonać kolejną magię 🙂 – How to deal with URLs with commas in Facebook Graph API

Podsumowując – dużo użerania się z IISem czy MVC gdy chce się zrobić coś z adresami co nie do końca jest wspierane. Lepiej postarać się wyperswadować klientowi taką adresację – no ale tu pozostaje kwestia tego co łatwiejsze 🙂

Founder of Octal Solutions a .NET software house.
Passionate dev, blogger, occasionally speaker, one of the leaders of Wroc.NET user group. Microsoft MVP. Podcaster – Ostrapila.pl