Typo3 9: sitemap.xml in Kombination mit URL .html

10. April 2020

In Typo 9 kann die sitemap.xml nun mit Bordmitteln erzeugt werden - das ist natürlich klasse. Die Konfiguration wird in diversen Artikeln hinreichend beschrieben.

Ich bin allerdings auf ein Problem gestoßen. Da wir die URLs auf .html enden lassen möchten, hatten wir in unserer config.yaml folgende FALSCHE Konfiguration:

routes:
  -
    route: sitemap.xml
    type: uri
    source: 't3://page?uid=1&type=1533906435'
routeEnhancers:
  PageTypeSuffix:
    type: PageType
    default: .html
    index: index
    map:
      .html: 0
      sitemap.xml: 1533906435

Das ist aber zuviel des Guten und resultiert in einer Fehlermeldung:

Oops, an error occurred!
Server error: `GET .../sitemap.xml` resulted in a `500 Internal Server Error` response: <!DOCTYPE html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="robots" cont (truncated...)

Man darf sitemap.xml nicht gleichzeitig als "route" angeben UND im routeEnhancer mappen. Lässt man die Definition der route weg und behält lediglich das Mapping bei, wird die sitemap.xml wie gewünscht erstellt.

routeEnhancers:
  PageTypeSuffix:
    type: PageType
    default: .html
    index: index
    map:
      .html: 0
      sitemap.xml: 1533906435