Bug #88188

Empty slug in page translations causes page not found error 404

Added by Marc Hirdes 29 days ago. Updated 23 days ago.

Status:
Closed
Priority:
Must have
Assignee:
-
Category:
Link Handling, Site Handling & Routing
Target version:
-
Start date:
2019-04-23
Due date:
% Done:

0%

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

Description

Hi. I would like to have an page URL for the english version like www.domain.de/en/. Therefore on the home page the slug of the page translation is '/'. Links in the language menu are working corectly. But when I open www.domain.de/en/ I get a 404 error. If I change the slug to /home/, then www.domain.de/en/home/ works. But then also the sub pages would get the slug /home/subpage.

My config.yml lookes like this

rootPageId: 1
base: 'https://www.domain.de'
baseVariants:
  -
    base: 'http://www.dev.domain.de'
    condition: 'applicationContext == "Development/Ubuntu"'
languages:
  -
    title: Deutsch
    enabled: true
    languageId: '0'
    base: /
    typo3Language: de
    locale: de_DE.UTF-8
    iso-639-1: de
    navigationTitle: DE
    hreflang: de-DE
    direction: ltr
    flag: de
  -
    title: English
    enabled: true
    languageId: '1'
    base: /en/
    typo3Language: default
    locale: en_GB.UTF-8
    iso-639-1: en
    navigationTitle: EN
    hreflang: en-GB
    direction: ltr
    fallbackType: strict
    fallbacks: ''
    flag: en-us-gb
errorHandling:
  -
    errorCode: '404'
    errorHandler: Page
    errorContentSource: 't3://page?uid=11'
routes:
  -
    route: robots.txt
    type: staticText
    content: "User-Agent: *\r\nAllow: /\r\n\r\n# folders\r\nDisallow: /t3lib/\r\nDisallow: /typo3/\r\nDisallow: /typo3conf/\r\nAllow: /typo3conf/ext/\r\nAllow: /typo3temp/\r\n\r\n# parameters\r\nDisallow: /*?id=*               # non-realurl URLs\r\nDisallow: /*cHash               # no cHash\r\nDisallow: /*tx_powermail_pi1    # no powermail thanks pages\r\nDisallow: /*tx_form_formframework    # no forms\r\n\r\n# sitemap\r\nSitemap: /sitemap.xml\r\n" 
routeEnhancers:
  CsDictionaryPlugin:
    type: Extbase
    extension: CsDictionary
    limitToPages:
      - 63
      - 64
    plugin: dictionary
    routes:
      -
        routePath: '/{letter}'
        _controller: 'Entry::list'
        _arguments:
          letter: letter
      -
        routePath: '/{localized_entry}/{entry_slug}'
        _controller: 'Entry::list'
        _arguments:
          entry_slug: entry
    defaultController: 'Entry::list'
    requirements:
      letter: '^[A-Z0-9].*$'
      entry_slug: '[0-9]{1..4}'
    defaults:
      letter: ''
      entry_slug: ''
    aspects:
      entry_slug:
        type: PersistedAliasMapper
        tableName: tx_csdictionary_domain_model_entry
        routeFieldName: slug
      localized_entry:
        type: LocaleModifier
        default: entry
        localeMap:
          -
            locale: 'de_DE.*'
            value: eintrag
  PageTypeSuffix:
    type: PageType
    default: /
    suffix: /
    index: ''
    map:
      /: 0
      sitemap.xml: 1533906435
disableStaticFileCache: false

Related issues

Duplicates TYPO3 Core - Bug #88171: Latest symfony/routing release breaks Core Closed 2019-04-18

History

#1 Updated by Marc Hirdes 29 days ago

  • Category set to Link Handling, Site Handling & Routing

#2 Updated by Niels Seelhöfer 27 days ago

I tried it with /home/ and also had an error 404.
When I change the 'base'-config of /en/ to /en, then it works for me. I know that this is wrong :)

#3 Updated by Daniel Haupt 23 days ago

This is a duplicate of #88171.

#4 Updated by Susanne Moog 23 days ago

  • Duplicates Bug #88171: Latest symfony/routing release breaks Core added

#5 Updated by Susanne Moog 23 days ago

  • Status changed from New to Closed

Also available in: Atom PDF