11

Product support

Visit this product's website for support.

Categories

The #1 Redirect plugin for October CMS

This is the best Redirect-plugin for October CMS. With this plugin installed you can manage redirects directly from October CMS' beautiful interface. Many webmasters and SEO specialists use redirects to optimise their website for search engines. This plugin allows you to manage such redirects with a nice and user-friendly interface.

History

This plugin was originally build in 2016 by Alwin Drenth a Software Engineer at Van der Let & Partners. As of 2018 this plugin is re-distributed to the October CMS Marketplace with vendor name Vdlp.Redirect (formerly known as Adrenth.Redirect).

The Redirect plugin will now be maintained by Van der Let & Partners and You (the open source community).

What does this plugin offer?

This plugin adds a 'Redirects' section to the main menu of October CMS. This plugin has a unique and fast matching algorithm to match your redirects before your website is being rendered.

Features

  • Quick matching algorithm
  • A test utility for redirects
  • Matching using placeholders (dynamic paths)
  • Matching using regular expressions
  • Exact path matching
  • Importing and exporting redirect rules
  • Schedule redirects (e.g. active for 2 months)
  • Redirect to external URLs
  • Redirect to internal CMS pages
  • Redirect to relative or absolute URLs
  • Redirect log
  • Categorize redirects
  • Statistics
    • Hits per redirect
    • Popular redirects per month (top 10)
    • Popular crawlers per month (top 10)
    • Number of redirects per month
    • And more...
  • Multilingual (Need help translating! Contact us at octobercms@vdlp.nl)
  • Supports MySQL, SQLite and Postgres
  • HTTP status codes 301, 302, 303, 404, 410
  • Caching

Supported database platforms

  • MySQL
  • Postgres
  • SQLite

Supported HTTP status codes

  • HTTP/1.1 301 Moved Permanently
  • HTTP/1.1 302 Found
  • HTTP/1.1 303 See Other
  • HTTP/1.1 404 Not Found
  • HTTP/1.1 410 Gone

Supported HTTP request methods

  • GET
  • POST
  • HEAD

Performance

All redirects are stored in the database and will be automatically "published" to a file which the internal redirect mechanism uses to determine if a certain request needs to be redirected. This is way faster than querying a database.

This plugin is designed to be fast and should have no negative effect on the performance of your website.

To gain maximum performance with this plugin:

  • Enable redirect caching using a "in-memory" caching method (see Caching).
  • Maintain your redirects frequently to keep the number of redirects as low as possible.
  • Try to use placeholders to keep your number of redirect low (less redirects is better performance).

Caching

If your website has a lot of redirects it is recommended to enable redirect caching. You can enable redirect caching in the settings panel of this plugin.

Only cache drivers which support tagged cache are supported. So driver file and database are not supported. For this plugin database and file caching do not increase performance, but can actually have a negative influence on performance. So it is recommended to use an in-memory caching solution like memcached or redis.

How caching works

If caching is enabled (and supported) every request which is handled by this plugin will be cached. It will be stored with tag Vdlp.Redirect.

When you modify a redirect all redirect cache will be invalidated automatically. It is also possible to manually clear the cache using the 'Clear cache' button in the Backend.

Placeholders

This plugin makes advantage of the symfony/routing package. So if you need more info on how to make placeholder requirements for your redirection URLs, please go to: https://symfony.com/doc/current/components/routing/introduction.html#usage

Contribution

Please feel free to contribute to this awesome plugin.

Questions? Need help?

If you have any question about how to use this plugin, please don't hesitate to contact us at octobercms@vdlp.nl. We're happy to help you. You can also visit the support forum and drop your questions/issues there.


If you love this quality plugin as much as we do, please rate our plugin.


Statistics overview

This plugin should be easy to understand if you are familiar with the basics of the web. If you have issues setting up some redirects, please do not hesitate to contact me.

Redirect types

This plugins ships with two types of redirects:

  • Exact; performs an exact match on the Source path.
  • Placeholders; matches placeholders like {id} or {category} (like the defined routes in Symfony or Laravel framework).
  • Regular expression; Use regular expressions to match multiple patterns at once (advanced).

Redirect target types

This plugin allows you to redirect to the following types:

  • An internal path
  • An internal CMS Page
  • An internal Static Page (RainLab.Pages plugin)
  • An external URL

Relative vs. Absolute URLs

Both types are supported by the Redirect plugin. Absolute URLs are generated by default. This setting can be changed at the Redirect Settings page.

In some cases it is necessary to use Relative URLs only. When using a reverse proxy for example. Or when you are hosting multiple domains on one single codebase.

Example when Absolute URLs are enabled (default):

Source path: /path/from
Target path: /path/to
Result path when matched: https://example.com/path/to

Example when Relative URLs are enabled:

Source path: /path/from
Target path: /path/to
Result path when matched: /path/to

Scheme matching

This plugin allows you to match requests from a http:// scheme to a https:// scheme and vice versa.

Placeholders

Every placeholder can be attached to a requirement. A requirement consists of a placeholder, requirement and an optional replacement value.

Example:

Input path:
/blog.php?category=cat&id=145

Source path:
/blog.php?category={category}&id={id}

Target path:
/blog/{category}/{id}

Result path:
/blog/cat/145
  • The requirement for {category} would be: [a-zA-Z] or could be more specific like (dog|cat|mouse).
  • The requirement for {id} would be: [0-9]+.

Replacement value

A requirement can also contain a replacement value. Provide this replacement value if you need to rewrite a certain placeholder to a static value.

Example:

The requirement for {category} is (dog|cat|mouse), with replacement value animals.

Input path:
/blog.php?category=mouse&id=1337

Source path:
/blog.php?category={category}&id={id}

Target path:
/blog/{category}/{id}

Result:
/blog/animals/1337

Result in TestLab:

Regular expression (advanced)

For advanced users there's the Regular Expression matching logic. Please refer to the PHP.net preg_match manual.

The actual $matches result from the preg_match($sourcePath, $url, $matches) function can be used in the target path and will be replaced with the matched value.

Example (with matches replacement):

Input path: /foo/my-match
Source Path: @/foo/(.*)?@
Target Path: /bar/{1}
Result: /bar/my-match

Redirect Target

You can select a CMS Page as a Redirect target. Placeholders are supported. Let's assume there is a page 'Blog' with the following URL: /blog/:category/:subcategory.

It is possible to create a Redirect with placeholders that has this CMS Page as a target:

Redirect with:
Source: `/blog.php?cat={category}&subcat={subcategory}`
Placeholders: {category}, {subcategory}
Target: CMS Page `Blog`

Request path: /blog.php?cat=news&subcat=general
Result: /blog/news/general

Events

Fires events

Event Payload Description
vdlp.redirect.match none When a request matched, right before the redirect response.
vdlp.redirect.changed int[] $redirectId When one or more redirects are changed.

Listens to events

Event Payload Description
vdlp.redirect.toUrlChanged string $oldUrl, string $newUrl Can be fired from a third-party plugin.

Commands

Command Description
vdlp:redirect:publish-redirects Publish all redirects.
  • Found the plugin useful on 9 Mar, 2021

    This plugin is really nice and handy. It has more functions than I expected, thank you! :)

  • Found the plugin useful on 30 Oct, 2020

    Perfect plugin. Does what he has to do and does it well.

    Alwin responded quickly and appropriately to a request. Thanks!

  • Found the plugin useful on 20 Oct, 2020

    Great plugin thanks!

    it si possilbe on this plugin redirect www to non-www site url?

    Thanks

  • Found the plugin useful on 15 Jul, 2020

    This plugin is pretty much one of the first I'll install into any October CMS website. Absolutely essential for migrating sites to October CMS. Amazing work, VDLP.

  • Found the plugin useful on 9 Jun, 2020

    Thanks for this awesome plugin! It is really very useful. It has many settings that are easy to configure and work perfectly. We have been using this plugin for a long time in our projects and it meets all our requirements. The plugin support at the highest level. Keep up the good work!

  • Found the plugin useful on 18 May, 2020

    Great plugin! Usually one of the first things I install on a new site.

  • Found the plugin useful on 17 Jan, 2020

    A very well done and essential plugin for OctoberCMS

  • Found the plugin useful on 3 Jan, 2019

    Probably one of the most impressive October Plugins I've ever seen on marketplace. Works brilliantly! Thank you!

  • Found the plugin useful on 14 Aug, 2018

    This is a great plugin. Works like a charm, is packed with features and does exactly what is expected.

    The level of attention to details and nice visual presentation make it a pleasure to work with.

  • Found the plugin useful on 1 Mar, 2018

    This is an excellent plugin. Not only it is jam-packed with features, but the live demo site and video tutorial make it easy to evaluate the usefulness of the plugin even before installing it.

    The plugin is very easy to use and also doubles up as a brilliant showcase for how flexible October's backend forms are for plugin development; it's a great learning experience just looking through the source code.

    I have just made a bitcoin donation equal to €15 and encourage others to do the same as this is a very high quality plugin and the author should be encouraged to maintain it and build more!

    Thanks again!

  • Found the plugin useful on 12 Dec, 2017

    This is one of the best plugins I have every used with October. It is power packed with loads of features to handle various types of redirects.

    Superior quality plugin with excellent support from the author. A++

  • Found the plugin useful on 12 Jun, 2017

    Perfect when you come from TYPO3!

  • Found the plugin useful on 2 Jun, 2017

    The support for this plugin is top-notch! I had an issue with my PostgreSQL database and Alwin responded to me and fixed the issue in no time. Plugin works great and saves me a lot of headaches for handling all the redirects. This plugin is a must have.

  • Found the plugin useful on 15 Mar, 2017

    Thanks for the plugin. Its easy to use and works like a charm. I don't use the statistic page that much but the design looks modern and comfortable. Also the feature to export and import stuff is very cool.

    Worth it!

  • author

    Replied on 15 Mar, 2017

    Hi Alexander,

    As of version 3.3.0 you can disable statistics completely, but also TestLab (beta) and logging can be disabled. Head over to the Settings section in OctoberCMS.

  • Found the plugin useful on 14 Mar, 2017

    Great plugin, helped me a lot because I redesigned an old website, and now using the plugin to redirect hits to old links to new ones. Super useful.

  • Found the plugin useful on 25 Jan, 2017

    The Github repository seems to have been made private or deleted. This broke our composer builds. Can we expect it to come back or should we use a fork from now onward?

  • Found the plugin useful on 11 Jan, 2017

    Wow!

  • Found the plugin useful on 11 Jan, 2017

    Great userful plugin!

  • author

    Replied on 11 Jan, 2017

    .

  • Found the plugin useful on 21 Nov, 2016

    Great plugin with many options and swift support!

  • Found the plugin useful on 6 Oct, 2016

    Good plugin, works great and good doc's! Big respect for this.

  • Found the plugin useful on 29 Aug, 2016

    Was using the nginx config to handle redirects before this plugin. Migrated servers over at one point and totally lost all of my redirects - drove me insane.

    Having it managed inside of the website now is much better. This plugin couldn't be more simple to use and it is also nice now knowing how many times the URL has been accessed. This is one of those few "must have" plugins for OctoberCMS - Keep up the awesome work!

  • Found the plugin useful on 25 Jul, 2016

    Great plugin and very fast support. I needed redirect handling relative to the october installation path (installation was in a subdirectory) and the author provided it within a day.

  • Found the plugin useful on 25 Jul, 2016

    Great plugin for projects where you want to use redirection.


    Отличный плагин для проектов, где требуется использовать редирект.

  • Found the plugin useful on 24 Jul, 2016

    This is an essential plugin if you need to manage lots of redirects easily. The features work great, are easy to use and the support is excellent - the plugin author responded to my issue almost instantly and issued a bugfix release on the same day. I highly recommended this plugin.

  • Found the plugin useful on 27 Apr, 2016

    A very complete and essential plugin for OctoberCMS. It contains all the features you'd except for a Redirect plugin.

  • Found the plugin useful on 7 Apr, 2016

    I like this plugin a lot. Keep up the good work!

  • Found the plugin useful on 28 Mar, 2016

    Awesome plugin. Works as advertised and looks great too.

  • Found the plugin useful on 25 Mar, 2016

    This is a must have plugin.

    Just remember, you must Publish the redirects in order for them to work, and you should only specify the /url not the http://www.webiste.com/url.

    OctoberCMS is getting better every day!

    Thank you Alwin!

  • author

    Replied on 25 Mar, 2016

    Hi Daniel. I've added some UI improvements to make things more understanding.

    Also added a test tool so you can test your redirect before publishing them. See the updated version 1.0.3.

    Please keep me updated about your experiences. Love to hear about it.

3.1.11

Add option to keep query string when redirecting.

Nov 30, 2023

3.1.10

Fixed backend filtering for MySQL >= 8.0.3.

Sep 28, 2023

3.1.9

Added environment variables for manipulating the navigation.

Jun 12, 2023

3.1.8

Add German translation.

May 25, 2023

3.1.7

Remove use of old BrandSetting constants.

Apr 19, 2023

3.1.6

Add support for October CMS 3.3.

Mar 28, 2023

3.1.5

Minor improvements. See: https://github.com/vdlp/oc-redirect-plugin/releases/tag/3.1.5

Mar 20, 2023

3.1.4

Fix target field not loading properly. See: https://github.com/vdlp/oc-redirect-plugin/releases/tag/3.1.4

Feb 14, 2023

3.1.3

Maintenance release

Jan 27, 2023

3.1.2

Fix daily stats labels when selecting month/year.

Dec 09, 2022

3.1.1

Add description column to Redirects overview.

Jun 24, 2022

3.1.0

Add support for October CMS 3.x. Drop support for October CMS 2.x.

Jun 11, 2022

3.0.5

Lock to October CMS version 2.x. Support for October CMS 3 will be added in v3.1.0.

Jun 11, 2022

3.0.4

Improved compatibility/extensibility with other Plugins.

Apr 19, 2022

3.0.3

Update plugin dependencies

Mar 16, 2022

3.0.2

Change version constraint for composer/installers.

Feb 20, 2022

3.0.1

Add support for regular expression matches in target path.

Feb 20, 2022

3.0.0

Drop support for October CMS 1.1 and lower. See: https://github.com/vdlp/oc-redirect-plugin/releases/tag/3.0.0

Feb 19, 2022

2.6.0

Update plugin dependencies.

Feb 19, 2022

2.5.13

Fix database error when cache is being cleared before installation of plugin.

Feb 19, 2022

2.5.12

Fix strpos() type error

Feb 19, 2022

2.5.11

Minor fixes -- See: https://github.com/vdlp/oc-redirect-plugin/releases/tag/2.5.11

Aug 31, 2021

2.5.10

Add PHP 8.0 version constraint and composer/installers package

Aug 31, 2021

2.5.9

Fix import in Plugin file

Jul 09, 2021

2.5.8

Improve redirect caching management (revised) -- See: https://github.com/vdlp/oc-redirect-plugin/releases/tag/2.5.8

Jul 09, 2021

2.5.7

Improve redirect caching management -- See: https://github.com/vdlp/oc-redirect-plugin/releases/tag/2.5.7

Jul 08, 2021

2.5.5

Suppress logging when redirect rules file is empty -- See: https://github.com/vdlp/oc-redirect-plugin/releases/tag/2.5.5

Sep 18, 2020

2.5.4

Add support for symfony/stopwatch:^5.0 (version 4.0 is still supported) -- See: https://github.com/vdlp/oc-redirect-plugin/releases/tag/2.5.4

Aug 27, 2020

2.5.3

Improve / fixes redirect rule caching -- See: https://github.com/vdlp/oc-redirect-plugin/releases/tag/2.5.3

Aug 18, 2020

2.5.2

Fix bug that causes re-writing the redirect rules file when hits are updated -- See: https://github.com/vdlp/oc-redirect-plugin/releases/tag/2.5.2

Jun 16, 2020

2.5.1

Fixes issues with redirect rules file not being present -- See: https://github.com/vdlp/oc-redirect-plugin/releases/tag/2.5.1

Jun 05, 2020

2.5.0

Add support for using relative paths -- See: https://github.com/vdlp/oc-redirect-plugin/releases/tag/2.5.0

May 18, 2020

2.4.1

Add Redirect Extensions promo page -- See: https://github.com/vdlp/oc-redirect-plugin/releases/tag/2.4.1

May 01, 2020

2.4.0

Skip requests with header 'X-Requested-With: XMLHttpRequest' -- See: https://github.com/vdlp/oc-redirect-plugin/releases/tag/2.4.0

Apr 17, 2020

2.3.2

Improve error handling in plugin migration process -- See: https://github.com/vdlp/oc-redirect-plugin/releases/tag/2.3.2

Apr 17, 2020

2.3.1

Fix SQLSTATE[42S22] error when installing plugin -- See: https://github.com/vdlp/oc-redirect-plugin/releases/tag/2.3.1

Apr 16, 2020

2.3.0

Add new redirect options (ignore case and ignore trailing slash) -- See: https://github.com/vdlp/oc-redirect-plugin/releases/tag/2.3.0

Apr 15, 2020

2.2.0

Add cache control header and UI improvements -- See: https://github.com/vdlp/oc-redirect-plugin/releases/tag/2.2.0

Apr 10, 2020

2.1.1

Update CHANGELOG

Apr 08, 2020

2.1.0

Added support for October CMS L6 build, improved caching and more -- See: https://github.com/vdlp/oc-redirect-plugin/releases/tag/2.1.0

Apr 08, 2020

2.0.2

Minor database and configuration fixes -- See: https://github.com/vdlp/oc-redirect-plugin/releases/tag/2.0.2

Apr 08, 2020

2.0.1

Fix Middleware not being invoked in newer PHP versions -- See: https://github.com/vdlp/oc-redirect-plugin/releases/tag/2.0.1

Mar 30, 2020

2.0.0

Supports PHP 7.1.3 and higher. Read CHANGELOG.md -- See: https://github.com/vdlp/oc-redirect-plugin/releases/tag/2.0.0

Mar 26, 2020

1.10.5

Fixes reported issues #46 and #49 -- See: https://github.com/vdlp/oc-redirect-plugin/releases/tag/1.10.5

Mar 26, 2020

1.10.4

Fixes reported issues #41 and #43 -- See: https://github.com/vdlp/oc-redirect-plugin/releases/tag/1.10.4

Jan 22, 2020

1.10.3

Fix support for Postgres -- See: https://github.com/vdlp/oc-redirect-plugin/releases/tag/1.10.3

Dec 04, 2019

1.10.2

Fixes a fatal error when running TestLab -- See: https://github.com/vdlp/oc-redirect-plugin/releases/tag/1.10.2

Oct 09, 2019

1.10.1

This fixes an issue where redirects will fail to work when the redirects.csv file does not have the write permission -- See: https://github.com/vdlp/oc-redirect-plugin/releases/tag/1.10.1

Oct 04, 2019

1.10.0

Improve statistics performance -- See: https://github.com/vdlp/oc-redirect-plugin/releases/tag/1.10.0

Sep 24, 2019

1.9.0

Add setting for enabling/disabling automatic creation of redirects -- See: https://github.com/vdlp/oc-redirect-plugin/releases/tag/1.9.0

Jun 21, 2019

1.8.1

Fix critical issue regarding regular expression redirects

May 24, 2019

1.8.0

Add CLI command for publishing redirects -- See: https://github.com/vdlp/oc-redirect-plugin/releases/tag/1.8.0

Apr 25, 2019

1.7.0

Bugfixes and code improvements -- See: https://github.com/vdlp/oc-redirect-plugin/releases/tag/1.7.0

Apr 18, 2019

1.6.0

Minor UI additions and added new Match Type: Regular Expressions! -- -- See: https://github.com/vdlp/oc-redirect-plugin/releases/tag/1.6.0

Apr 04, 2019

1.5.0

Bugfixes and added more extensibility support -- See: https://github.com/vdlp/oc-redirect-plugin/releases/tag/1.5.0

Mar 14, 2019

1.4.5

Fixes critical issue with ignoring query parameters

Jan 18, 2019

1.4.4

Fixes a redirect loop bug which might occur after renaming content pages.

Jan 18, 2019

1.4.3

Fix thrown BindingResolutionException on redirecting

Nov 18, 2018

1.4.2

Add extra statistics database index to improve performance (Statistics dashboard)

Nov 17, 2018

1.4.1

Add extra statistics database index to improve performance

Nov 17, 2018

1.4.0

Code dusting and improvements to the redirect list view

Nov 16, 2018

1.3.0

Add support for ignoring query parameters -- See: https://github.com/vdlp/oc-redirect-plugin/issues/6

Oct 19, 2018

1.2.0

Add extra filters to the Redirects overview -- See: https://github.com/vdlp/oc-redirect-plugin/pull/5

Oct 19, 2018

1.1.0

Redirect rules are now being cached (if caching enabled) -- See: https://github.com/vdlp/oc-redirect-plugin/issues/1

Oct 19, 2018

1.0.0

Transfer vendor ownership. Adrenth.Redirect -> Vdlp.Redirect

Aug 31, 2018

Upgrade Vdlp.Redirect 3.0.x to Vdlp.Redirect 3.1

  • Drop support for October CMS 2.x and lower.
  • Minimum required PHP version is now 8.0.2

Upgrade Vdlp.Redirect 2.0 to Vdlp.Redirect 3.0

  • Drop support for October CMS 1.1 and lower.
  • Minimum required PHP version is now 7.4
  • Redirect to relative paths is now enabled by default.
  • Add database relation to system request logs.
  • When updating to 3.0.0 the table vdlp_redirect_redirect_logs will be removed due to schema changes.
  • Improvements to redirect request logs.
  • Improvements to redirect conditions logic.
  • Improvements to the statistics page.
  • Redirect Settings:
    • Relative paths setting is now enabled by default.
    • Testlab (Beta) is now disabled by default.
    • Redirect logging is now disabled by default.
    • Redirect statistics is now disabled by default.

Upgrade Vdlp.Redirect 1.0 to Vdlp.Redirect 2.0

  • Drop support for PHP 7.0, only supports PHP 7.1.3+.
  • Most of the classes are made final. For extending use October CMS proposed solutions.
  • Auto-redirect creation for CMS/Static pages has been removed from this plugin.
  • The following events have been removed:
    • vdlp.redirects.changed
    • vdlp.redirect.beforeRedirectSave
    • vdlp.redirect.beforeRedirectUpdate
    • vdlp.redirect.afterRedirectUpdate
  • New events:
    • vdlp.redirect.changed

Upgrade Adrenth.Redirect 4.0 to Vdlp.Redirect 1.0

If Adrenth.Redirect plugin is installed, the database will be migrated automatically. Please make sure Adrenth.Redirect plugin is installed while installing Vdlp.Redirect.

This upgrade is supported with SQLite and MySQL databases. Other database platforms have not been tested.