Я добавил новый язык сайта в проект TYPO3. Новый язык сайта имеет id=2
. Но если я позвоню, например. www.your-domain.com/hr.html
Я получаю 404 - page not found
(обычно должна появляться начальная страница на переведенном языке). Также в меню отображаются ссылки без /hr/
. Я могу вызвать страницы с http://www.your-domain.com/index.php?L=2
. Конфигурация для Typo3 выглядитTYPO3: добавлен новый язык и получить 404 страница не найден
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 Cache с
$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
и не нашел ничего особенного. Что мне не хватает?
Как выглядит адрес меню, когда вы на другом языке? Когда вы задаете параметр L в url. Как создается меню? – Fixus
@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'). – testing
Почему вы используете PHP-скрипт для генерации меню? Используйте typoscript. Они у вас будут правильно сформированные URL-адреса – Fixus