Rewrite middleware allows to rewrite an URL path based on provided rules. It can be helpful for backward compatibility or just creating cleaner and more descriptive links.
The values captured in asterisk can be retrieved by index e.g. $1, $2 and so on. Each asterisk will be non-greedy (translated to a capture group (.*?)) and if using multiple asterisk a trailing * will match the “rest” of the path.
CAUTION
Rewrite middleware should be registered via Echo#Pre() to get triggered before the router.
// RewriteConfig defines the config for Rewrite middleware.
RewriteConfigstruct{// Skipper defines a function to skip middleware.
SkipperSkipper// Rules defines the URL path rewrite rules. The values captured in asterisk can be
// retrieved by index e.g. $1, $2 and so on.
Rulesmap[string]string`yaml:"rules"`// RegexRules defines the URL path rewrite rules using regexp.Rexexp with captures
// Every capture group in the values can be retrieved by index e.g. $1, $2 and so on.
RegexRulesmap[*regexp.Regexp]string}
Default Configuration:
Name
Value
Skipper
DefaultSkipper
Regex-based Rules
For advanced rewriting of paths rules may also be defined using regular expression. Normal capture groups can be defined using () and referenced by index ($1, $2, …) for the rewritten path.