Ensure that a single trailing slash is always added to the URL
Installs: 114 007
Open Issues: 0
Ensure that a single trailing slash is always added to the URL. URLs accessed via Ajax, contain $_GET vars, or that contain an extension are ignored.
example.com/contactis redirected to
example.com/contact//is redirected to
example.com/contact?testis not redirected
example.com/contact.htmlis not redirected
- Silverstripe ^4.0 || ^ 5.0
For Silverstripe 3, please refer to the Silverstripe3 branch.
Installation and configuration
composer require axllent/silverstripe-trailing-slash
By default it will ignore any
dev/ URLs, as well as all ajax requests.
It also only acts on
$_GET requests as not to interfere with any posted data, and
ignores any URL containing an extension (eg:
/contact.html) or query parameter.
You can create additional "ignore_paths" by creating a yaml config
Axllent\TrailingSlash\Middleware\TrailingSlashRedirector: ignore_paths: - 'events' - 'my/other/path'
These paths are relative to the base URL (
events will not match
but will match
Please note that paths do not typically contain a trailing slash unless it is only underlying URLs you wish to redirect. Wildcards etc are not supported in the syntax.