Skip to content
Snippets Groups Projects
Commit 2a0ea300 authored by Benni Mack's avatar Benni Mack Committed by Susanne Moog
Browse files

[FEATURE] Add system extension "redirects"

A new system extension "redirects" is added, which ships a flexible
handling of HTTP redirects, useful both for marketeers and
site administrators.

It adds a new module called "Site Management => Redirects".

Site Management will be the starting point also for templating and
domain setups in the future.

A new DB table "sys_redirect" is added, which allows to configure
a redirect from a source (host+path) to a destination target.
The destination target can be any kind of Uri
(used by the LinkService).

In the short run, redirects superseeds the redirect logic from
sys_domain.redirectTo (see followup patch), but more features
are already sketched out, however, this change only
adds the basic functionality.

Any time a redirect is added or modified, a list
of all redirects is added to the cache management,
allowing to fetch all redirects at once,
reducing the number of queries to the DB in the
frontend to 1 query (or to one query to the FS, as
the power lies in the caching framework).

A simple hit statistics counter is implemented as well.

The redirects functionality later will serve
for URL Routing if a page will be registered under
a different URL, and a redirect could automatically be added.

Further improvements (out of scope for this change):
- Move icons into the TYPO3 iconset
- Check for recursive / loops, or existing redirects
- Add further conditions for redirects
- Export redirects as VCL, nginx or .htaccess rules for performance reasons
- Bulk import of redirects
- Selection of existing sys_domain redirects in source_
- Sanitize source_host to only include a domain name, and/or allow ports
- Allow query parameters in source_path

Resolves: #83631
Releases: master
Change-Id: Ibf25c2ee07f41edbaf14b97a7f115d36f901cc62
Reviewed-on: https://review.typo3.org/55358


Tested-by: default avatarTYPO3com <no-reply@typo3.com>
Reviewed-by: default avatarJoerg Boesche <typo3@joergboesche.de>
Tested-by: default avatarJoerg Boesche <typo3@joergboesche.de>
Reviewed-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>
Tested-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: default avatarReiner Teubner <reiner.teubner@me.com>
Tested-by: default avatarReiner Teubner <reiner.teubner@me.com>
Reviewed-by: default avatarGeorg Ringer <georg.ringer@gmail.com>
Tested-by: default avatarGeorg Ringer <georg.ringer@gmail.com>
Reviewed-by: default avatarAnja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: default avatarAnja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: default avatarAndreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: default avatarAndreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: default avatarTobi Kretschmann <tobi@tobishome.de>
Tested-by: default avatarTobi Kretschmann <tobi@tobishome.de>
Reviewed-by: default avatarSusanne Moog <susanne.moog@typo3.org>
Tested-by: default avatarSusanne Moog <susanne.moog@typo3.org>
parent e6b9cdea
Showing
with 1563 additions and 0 deletions
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment