Breaking: #93048 - Backend URL rewrites
See forge#93048
Description
To introduce human readable urls to the TYPO3 backend, a new rewrite
rule for the backend is necessary. Therefore the rewrite process
should not longer be stopped if the typo3/
directory is accessed,
like it was configured for a long time. Instead, all requests below
/typo3/
which do not exist, are now redirected to the TYPO3 Backend
entry point.
Further do the Backend URLs now not longer require the &route=
parameter since its value is now part of the URL. For example the
main entry point changed from /typo3/
to
/typo3/
.
The &route=
parameter will however be still applied to the URL
for backwards compatibility.
Impact
Accessing the backend without changing the webserver configuration
will usually lead to a 404 - Not found
response.
Custom backend links which are not build using the Uri
API also may lead to a 404 - Not found
response.
Using relative paths for backend links, e.g. for icons / images, will may not longer work as expected.
Extensions relying on the &route=
parameter to be set will still work
but break at least in v12 when this parameter will finally be removed.
Affected Installations
All installations are affected.
Migration
There is a silent update in place which automatically updates the webserver configuration file when accessing the install tool, at least for Apache and Microsoft IIS webservers.
Note: This does not work if you are not using the default configuration, which is shipped with Core and automatically applied during the TYPO3 installation process, as basis. No worries, some custom adjustments like redirects do not prevent the update. Only the default rewrite rules must be in place.
If you however use a fully custom configuration, especially when using
a custom entry point for the backend, you may have to perform the
necessary changes manually. Therefore, please have a look at the changes
to the default .htaccess
configuration, for reference.
Apache Config before:
RewriteRule ^(?:typo3/|fileadmin/|typo3conf/|typo3temp/|uploads/) - [L]
Apache Config after:
RewriteRule ^(?:fileadmin/|typo3conf/|typo3temp/|uploads/) - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^typo3/(.*)$ %{ENV:CWD}typo3/index.php [QSA,L]
For Nginx, add following block:
location /typo3/ {
absolute_redirect off;
try_files $uri /typo3/index.php$is_args$args;
}
Additionally, make sure to use the public Uri
API for
all custom generated backend links.
Finally, check custom backend modules for the use of relative paths, because they may not longer work as expected.