TYPO3 Upgrade ( 7.6 to 10): Site Configuration not found
Asked Answered
H

4

6

I have been spending the day trying to upgrade my TYPO3 installation from version 7.6 to 10.4 and with some struggles in between everything went fine, to the point that I can login into the backend and so on and so forth.

The problem that I am facing for some hours now is that I can't get the front-end to work.

I get the following error:

Page not found. The page did not exist or was inaccessible. Reason: No site configuration found

I have been scrolling for google for quite a bit now and I can't seem to find the right solution right now.

The way I went was to install T3-10 with composer and migrate the DB and run the upgrade wizard. I also checked for the "site configuration" within the backend and also the site configuration part in the filesystem and everything seems to be ok.

base: 'https://mydomain.local/'
baseVariants: {},
errorHandling: {},
languages: 
  - 
    title: Deutsch
    enabled: true
    languageId: '0'
    base: /
    typo3Language: de
    locale: de_DE
    iso-639-1: de
    navigationTitle: German
    hreflang: de_DE
    direction: ltr
    flag: de
    websiteTitle: ''
rootPageId: 1
routes: ''
websiteTitle: XYZ

I am sure it's just something little that I can't seem to find right now, anyone else experience with this?

Howlet answered 2/4, 2020 at 20:50 Comment(6)
Did you upgrade your installation version by version (7.6 > 8.7 > 9.5 > 10.4) and run the upgrade wizards for every version?Socket
No I was just jumping ahead and did the installation from 7.6 to 10.4 directly, the backend as such works fine it's just the frontend that's not workingHowlet
do you still have domain records? AFAIK there was a case where the old domain-records interfered with the site configurationHyracoid
Is there only 1 site config with rootPageId: 1?Jareb
@JonasEberle Yes there is only 1 site config with a PID 1 I am working on a localhost environmente with a vhost-adress xyz.local and when I look into the site configuration and the backend everything seems fine. Where would I find old domain records?Howlet
Domain Reords are records from the sys_domain database table. You can just truncate this table. In the TYPO3 backend they were usually inside the root page of any domain.Jareb
A
2

I got the same issue because i wrote a http:// url in the site conf. With https:// as well without a SSL-certificate everything is fine.

Argentic answered 30/5, 2021 at 20:13 Comment(0)
V
1

Had the problem with a TYPO3 installation behind a proxy. Setting the following values in Global Configurations solved my problem. (Can be done via backend in Admin ToolsSettingsConfigure Installation Wide Options or alternatively directly in the LocalConfiguration.php file)

'HTTP' => [
   'proxy' => '<yourProxyIp:yourProxyPort>',
],
'SYS' => [
    'reverseProxyHeaderMultiValue' => 'last',
    'reverseProxyIP' => '<yourReverseProxyIp>',
    'reverseProxySSL' => '*'
]
Verduzco answered 7/4, 2021 at 5:21 Comment(4)
Where can I found yourReverseProxyIP and yourProxyPort?Verniavernice
You have to ask your data center admin. She/he will know.Verduzco
I am using ddev with DockerVerniavernice
You mean locally? In this case you should not need to care about it. In this case let those values empty.Verduzco
P
1

Are you using old conditions in your TypoScript Setup / Constants? From TYPO3 10 onwards you need to use the Symfony Expression Language. Take a look here and replace those in your code where needed.

[page["uid"] in 18..45]
# This condition matches if current page uid is between 18 and 45
# Not possible with old syntax
[END]

[34 in tree.rootLineIds || 36 in tree.rootLineIds]
# This condition matches, if the page viewed is or is a subpage to page 34 or page 36
# Old Syntax: [PIDinRootline = 34,36]
[END]

[loginUser('*')]
# Old syntax: [loginUser = *]
[END]

[page["field"] == "value"]
# Old syntax: [page|field = value]
[END]

[loginUser('*') == false]
# Old syntax: [loginUser = ]
[END]

[getTSFE().id >= 10]
# Old Syntax [globalVar = TSFE:id >= 10]
[END]

[applicationContext == "Production" && userId == 15]
# This condition match if application context is "Production" AND logged in user has the uid 15
# Old syntax: [applicationContext = "Production"] && [loginUser = 15]
[END]

[request.getNormalizedParams().getHttpHost() == 'typo3.org']
# This condition matches if current hostname is typo3.org
# Old Syntax: [globalString = IENV:HTTP_HOST = www.typo3.org]
[END]

[like(request.getNormalizedParams().getHttpHost(), "*.devbox.local")]
# This condition matches if current hostname is any subdomain of devbox.local
# Old Syntax: [globalString = IENV:HTTP_HOST = *.devbox.local]
[END]

[page["uid"] in [1,2,3,4] || 5 in tree.rootLineIds]
# This condition matches if current page uid is either 1,2,3 or 4
# or if the current page is 5 or any subpage of 5
[END]

[backend.user.isLoggedIn]
# This condition matches if a backend user is logged in
# Old syntax: [globalVar = TSFE:beUserLogin = 1]
[END]

[traverse(request.getQueryParams(), 'tx_blog_tag/tag') > 0]
# This condition matches if current query parameters have tx_blog_tag[tag] set to a value greater than zero
[END]

Source: https://usetypo3.com/symfony-expression-language-in-typo3.html

Perimeter answered 1/6, 2021 at 6:48 Comment(0)
M
0

I got the same issue when deploying a project (10.4.14) from my local dev to stage environment.

Due to missing SSL cert, the configuration in the Apache 2.4. was pointing to missing cert-files. After fixing this the site configuration was found.

Mixture answered 16/3, 2021 at 23:15 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.