Rewrite Middleware

Rewrite middleware rewrites the URL path based on provided rules. It can be helpful for backward compatibility or just creating cleaner and more descriptive links.

Usage

  1. e.Pre(middleware.Rewrite(map[string]string{
  2. "/old": "/new",
  3. "/api/*": "/$1",
  4. "/js/*": "/public/javascripts/$1",
  5. "/users/*/orders/*": "/user/$1/order/$2",
  6. }))

The values captured in asterisk can be retrieved by index e.g. $1, $2 and so on.

Custom Configuration

Usage

  1. e := echo.New()
  2. e.Pre(middleware.RewriteWithConfig(middleware.RewriteConfig{}))

Configuration

  1. // RewriteConfig defines the config for Rewrite middleware.
  2. RewriteConfig struct {
  3. // Skipper defines a function to skip middleware.
  4. Skipper Skipper
  5. // Rules defines the URL path rewrite rules.
  6. Rules map[string]string `yaml:"rules"`
  7. }

Default Configuration

NameValue
SkipperDefaultSkipper

Rewrite middleware should be registered via Echo#Pre() to get triggered before the router.