【问题标题】:TYPO3: added new language and get 404 page not foundTYPO3:添加了新语言并找不到 404 页面
【发布时间】:2012-04-26 16:28:07
【问题描述】:

我在 TYPO3 项目中添加了一种新的网站语言。新的网站语言有id=2。但是如果我打电话给例如www.your-domain.com/hr.html 我得到404 - page not found(通常应该出现翻译语言的起始页)。菜单还显示没有/hr/ 的链接。我可以用http://www.your-domain.com/index.php?L=2 调用页面。 Typo3 的配置看起来像

config {
    linkVars = L 
    sys_language_mode = content_fallback
    sys_language_overlay = hideNonTranslated
    sys_language_uid = 0
    language = de
    locale_all = de_DE
    htmlTag_langKey = de-DE
}

[globalVar = GP:L=1]
config {
     sys_language_uid = 1
     language = en
     local_all = en_GB
     htmlTag_langKey = en-GB
}
[global]

[globalVar = GP:L=2]
config {
     sys_language_uid = 2
     language = hr
     local_all = hr_HR
     htmlTag_langKey = hr-HR
}
[global] 

RealURL 配置是

'preVars' => array (
    '0' => array (
        'GETvar' => 'no_cache',
        'valueMap' => array (
            'nc' => '1',
        ),
        'noMatch' => 'bypass'
    ),
    '1' => array (
        'GETvar' => 'L',
        'valueMap' => array (
            'de' => '0',
            'en' => '1',
                'hr' => '2',
        ),
            'valueDefault' => 'de',
        'noMatch' => 'bypass',
    ),
        '2' => array (
        'GETvar' => 'lang',
        'valueMap' => array (
            'de' => '0',
            'en' => '1',
                'hr' => '2',
        ),
            'valueDefault' => 'de',
        'noMatch' => 'bypass',
    ),

对我来说,看起来一切都应该正常工作,但事实并非如此。我还用

清除了 RealURL 缓存
    $TYPO3_CONF_VARS['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['clearAllCache_additionalTables']['tx_realurl_urldecodecache'] = 'tx_realurl_urldecodecache'; 
    $TYPO3_CONF_VARS['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['clearAllCache_additionalTables']['tx_realurl_urlencodecache'] = 'tx_realurl_urlencodecache'; 
    $TYPO3_CONF_VARS['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['clearAllCache_additionalTables']['tx_realurl_pathcache'] = 'tx_realurl_pathcache'; 

localconf.php 中并按下Clear all caches 按钮。我正在使用 realurl 1.12.1 和 Typo3 4.5.5。我还查看了htaccess 并没有发现任何特别之处。我错过了什么?

【问题讨论】:

  • 其他语言的菜单urls look when youre如何?当您在 url 中手动设置 L 参数时。菜单是如何生成的?
  • @Fixus:菜单由 PHP 脚本生成。我将再次查看它并告诉您结果。如果我调用www.your-domain.com/index.php?L=2,则某些 URL 缺少语言路径 (hr)。如果我查看不是由我的 PHP 脚本生成的菜单,我通常会得到 http://www.your-domain.com/index.php?id=67&L=2(除了两个缺少 hr 的条目)。
  • 为什么要使用 php 脚本来生成菜单?使用排版。他们将正确生成网址
  • 为什么选择 PHP?因为生成更复杂的菜单更加容易和快捷。然而它不是我的。但是我也遇到了打字稿生成的菜单的问题。但是为什么给我 URL www.your-domain.com/hr.html 404 找不到页面?这与菜单无关...en.htmlde.html 工作正常...

标签: multilingual typo3 typoscript realurl


【解决方案1】:

页面上的urltool 已被删除,但urltoolconf_realurl.php 的包含仍然存在(使用旧设置)。这包括在localconf.php 中覆盖了我的realurl_conf.php 设置(包括新语言)。

但仍有一些菜单在 URL 中包含 index.php?id=69&L=2 而不是语音 URL。所以它们是指向其他页面的链接,我必须重新设置链接并确保有可用的翻译(即使在文件夹中......)。

【讨论】:

    猜你喜欢
    • 2019-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-15
    • 2021-07-20
    • 2015-10-25
    • 2018-10-10
    • 1970-01-01
    相关资源
    最近更新 更多