从TYPO3 8.7更新到TYPO3 9.5时,您可能会删除realurl扩展以支持新的路由功能.
但是你可能会注意到,默认情况下,当你没有使用html后缀时,realurl会附加一个/所有URL.TYPO3路由功能在默认情况下不会这样做,并且核心中目前没有选项可以启用它.为什么这是个问题?在TYPO3 8.7中,您有一个像www.domain.tld/subpage /这样的网址.在TYPO3 9.5中,使用url www.domain.tld/subpage调用相同的页面.因此,即使这是同一页面,对于搜索爬虫,这也是另一个URL.使用附加/调用URL时,TYPO3会执行307重定向,但您可能希望使用旧的URL结构.
如何教TYPO3添加追加/?
TYPO3 9.5.5\n我有一个多域网站,使用多个页面树和每树多种语言的组合。我有一页树以德语提供内容。该功能可在domain.de、domain.at 和domain.ch 上找到。然后是domain.com、domain.nl等更多的树(因为不同语言的内容结构有很大不同)。
\n\n现在我想为本地开发和阶段服务器设置 baseVariants。我有一个像这样的网站配置:
\n\nrootPageId: 1\nbase: /\nbaseVariants:\n -\n base: \'https://domain-de.local/\'\n condition: \'applicationContext == "Development"\'\nlanguages:\n -\n title: Deutsch\n enabled: true\n languageId: \'0\'\n base: \'https://www.domain.de/\'\n typo3Language: de\n locale: de_DE.UTF-8\n iso-639-1: de\n navigationTitle: Deutschland\n hreflang: de-DE\n direction: ltr\n flag: de\n -\n title: \xc3\x96sterreichisch\n enabled: true\n languageId: \'1\'\n base: \'https://www.domain.at/\'\n typo3Language: de\n locale: de_AT.UTF-8\n iso-639-1: de\n navigationTitle: \xc3\x96sterreich\n hreflang: \'\'\n direction: ltr\n fallbackType: strict\n flag: at\nRun Code Online (Sandbox Code Playgroud)\n\n据我了解后端 GUI,我只能将顶级域 baseVariants 定义为主要入口点,然后下面的所有内容都可以通过诸如 等路径控制/de/,/at/对吧?在我的设置中,我需要 \' https://domain-at.local/ \',但是如何设置此变体的目标 sys_language_uid …
在我的extbase控制器操作中,我想在上传文件后重定向到另一个控制器/操作,所以我打电话
$this->redirect('index', 'Download', null, null, $this->settings['listView']);
Run Code Online (Sandbox Code Playgroud)
问题是,当前语言参数在重定向期间丢失.方法签名允许$arguments在第四个位置上的数组,但是如果我放在L那里
$this->redirect('index', 'Download', null, array('L' => $GLOBALS['TSFE']->sys_language_uid), $this->settings['listView']);
Run Code Online (Sandbox Code Playgroud)
重定向用扩展参数之类的东西包装它
&tx_myext_controller[L]=0
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:如何将当前语言添加到extbase重定向?