Bug #86835

Static route sitemap.xml is still not working on single-page tree

Added by Chris Müller 12 months ago. Updated about 1 month ago.

Status:
New
Priority:
Must have
Assignee:
-
Category:
Link Handling, Site Handling & Routing
Target version:
-
Start date:
2018-11-02
Due date:
% Done:

0%

TYPO3 Version:
9
PHP Version:
7.2
Tags:
Complexity:
Is Regression:
Sprint Focus:

Description

The bug #86615 already exists after an update to TYPO3 9.5.1.

I have a multi-language, single-page tree site configuration. I added a sitemap.xml into the config.yaml via the new Site Management menu.

rootPageId: 3
base: 'https://www.example.net/'
baseVariants:
-
base: 'http://example.ddev.local:8080/'
condition: 'applicationContext "Development"'
-
base: 'https://staging.example.net/'
condition: 'applicationContext "Production/Staging"'
-
base: 'http://testing.example.net/'
condition: 'applicationContext == "Testing"'
languages:
-
title: English
enabled: true
languageId: '0'
base: /en/
typo3Language: default
locale: en_US.utf8
iso-639-1: en
navigationTitle: English
hreflang: en
flag: us
-
title: Deutsch
enabled: true
languageId: '1'
base: /de/
typo3Language: de
locale: de_DE.utf-8
iso-639-1: de
navigationTitle: Deutsch
hreflang: de
fallbackType: strict
flag: de
errorHandling:
-
errorCode: '404'
errorHandler: Page
errorContentSource: 't3://page?uid=96'
routes:
-
route: sitemap.xml
type: uri
source: 't3://page?uid=3&type=1533906435'

Using /sitemap.xml redirects me to /en/.

Calling /?type=1533906435 redirects me also to /en/. But using /en/?type=1533906435 shows me the sitemap index. Calling the URL from the sitemap xml:

http://example.ddev.local:8080/en/?sitemap=pages&cHash=0fe835841492c3b52e6090c6a7f6f310

shows me the content from /en and no sitemap.

Addition: I encounter this problem on a local ddev environment with the default .htaccess delivered with the core.


Related issues

Related to TYPO3 Core - Bug #86615: Static route sitemap.xml is not working on single-page tree Closed 2018-10-10
Related to TYPO3 Core - Bug #87095: Robots.txt not reachable if base is not "/" Closed 2018-12-07
Related to TYPO3 Core - Bug #88543: Static routes does not work if no language serves root level New 2019-06-12

History

#1 Updated by Chris Müller 12 months ago

  • Description updated (diff)

#2 Updated by Markus Klein 12 months ago

  • Related to Bug #86615: Static route sitemap.xml is not working on single-page tree added

#3 Updated by Georg Ringer 10 months ago

  • Related to Bug #87095: Robots.txt not reachable if base is not "/" added

#4 Updated by Andreas Kiessling 5 months ago

@Chris Müller
Does this work for you now? I'm having serious trouble getting the sitemap to work at all, neither / nor /de/ as base language segment works for me

#5 Updated by Andreas Kiessling 5 months ago

The topic of this report is wrong, it's not just the sitemap.xml, but in general all static routes and redirects are screwed up, if there is no entrypoint with just a "/"

--Update--
I think i found the culprit: the SiteBaseRedirect should only kick in, in the documented case:

// Usually called when "https://www.example.com" was entered, but all sites have "https://www.example.com/lang-key/" 
// So a redirect to the first possible language is done.

But since there is no check, if the called url is actually "empty", it just handles everything that can not be mapped to a configured language.

#6 Updated by Chris Müller 4 months ago

  • Related to Bug #88543: Static routes does not work if no language serves root level added

#7 Updated by Susanne Moog about 2 months ago

This is basically done on purpose, as you can have multiple sites with the same base and different language configurations.

If two sites had / as base (and lang configs) which static route config is to be taken? The configuration in this case is undefined and instead of doing unpredictable "magic" by chosing any one of them, we are currently only using the config that is defined.

#8 Updated by Chris Müller about 1 month ago

I agree. For me, this issue can be closed.

#9 Updated by Sebastian Schawohl about 1 month ago

I don't understand: static routes are defined per sites, so even if two sites have / as base it should not be a problem.

The only way to make static routes work in a multi-language site is to have the default language with / as a base?

Also available in: Atom PDF