Bug #89541
closedSiteconfig.yaml with not used language-config breaks the server
0%
Description
Siteconfig.yaml with a second language config which is currently not used at the backend - so no translation exists, tries to get the 404 page in the selected language (which does not exists).
For example:
SiteConfig:
languages:
-
title: Deutsch
enabled: true
languageId: '0'
base: /
typo3Language: de
locale: de_DE.UTF-8
iso-639-1: de
navigationTitle: Deutsch
hreflang: de
direction: ltr
fallbackType: strict
fallbacks: ''
flag: de
-
title: English
enabled: true
languageId: '2'
base: /en/
typo3Language: default
locale: en_US.UTF-8
iso-639-1: en
navigationTitle: English
hreflang: en
direction: ltr
fallbackType: strict
fallbacks: ''
flag: en-us-gb
If the Backend has no translation and no language defined, then you try to get "domain.tld/en", then TYPO3 tries to get the "domain.tld/en/404" page over and over again - infinite loop (which does not exist).
Until the webserver crashes.
Updated by Christian Eßl over 4 years ago
- Category set to Site Handling, Site Sets & Routing
Updated by Georg Ringer over 4 years ago
- Status changed from New to Needs Feedback
hey,
so also no sys_language exists? then this behaviour is ok as the config.yaml
is the single point of truth.
Updated by Christian Hackl over 4 years ago
Georg Ringer wrote:
hey,
so also no sys_language exists? then this behaviour is ok as the
config.yaml
is the single point of truth.
but if no sys_language exists then shouldn't TYPO3 provide an available 404 page instead of hanging in a loop?
Updated by Benni Mack over 4 years ago
Christian Hackl wrote:
Georg Ringer wrote:
hey,
so also no sys_language exists? then this behaviour is ok as the
config.yaml
is the single point of truth.but if no sys_language exists then shouldn't TYPO3 provide an available 404 page instead of hanging in a loop?
The only way to "overcome" this would be a sanity check in the Sites module or Reports module to show that there are languages configured that are not in the database. At the time of the frontend, there is no database connection (and no check if a sys_language record or a page even exists).
At the same time, we could catch the "infinite loop" somehow.
Updated by Georg Ringer about 4 years ago
- Status changed from Needs Feedback to Accepted
Updated by Georg Ringer 6 months ago
- Status changed from Accepted to Resolved
in the meantime there is no sys_language anymore and therefore issue can be closed