Рассмотрим следующее сопоставление URL Grails:
class UrlMappings {
static mappings = {
"/something/${foo_id}/" {
controller = "foo"
action = "bar"
}
}
При генерации URL: с использованием g:link
..
<g:link controller="foo" action="bar" params="[foo_id: 123]">foobar</g:link>
.. результирующая ссылка выглядит как ..
<a href="/something/123">foobar</a>
Обратите внимание, что завершающий слеш в отображении URL удален.
Однако оба URL: s /something/123
и /something/123/
по-прежнему работают.
Из-за требований приложения, которое я создаю, я должен сделать так, чтобы версия URL «кончалась косой чертой» была основной. В идеале я хотел бы, чтобы URL, не заканчивающийся косой чертой, возвращал 404 (во избежание проблем с каноническими страницами).
Каков наилучший и наиболее общий способ заставить Grails создавать URL: s, где конечные слэши не удаляются, как описано выше?
Один из способов решить эту проблему - создать все URL-адреса вручную, но я не хочу идти по этому пути.