В монорельсе я пытаюсь создать правило перезаписи URL, чтобы дать дружественные ссылки на посты статей. Вот как выглядят URL:
http://domain.com/2010/11/29/Winter-snow-warning
А вот код в global.asax.cs для переписывания URL:
RoutingModuleEx.Engine.Add(
new PatternRoute("/<year>/<month>/<day>/<title>")
.DefaultForController().Is("post")
.DefaultForAction().Is("show")
.Restrict("year").ValidInteger
.Restrict("month").ValidInteger
.Restrict("day").ValidInteger
);
Это прекрасно работает, однако, если в URL есть восклицательный знак:
http://domain.com/2010/11/29/Winter-snow-warning!!
Тогда это не соответствует правилу перезаписи и выдает ошибки, говоря, что контроллер "2010" не может быть найден. Что мне здесь не хватает, это ошибка в монорельсе?