2014-01-20 3 views
1

Мне удалось сделать новость (tx_news) работать в режиме realurl под языком по умолчанию. Затем я захотел локализовать новости, поэтому я создал для них переадресацию. Однако, когда я получить доступ к окну списка для не по умолчанию языка, он терпит неудачу сНовости + realURL + i18n в Typo3 = ошибка cHash

Request parameters could not be validated (&cHash comparison failed) 

Неисправный ссылка не содержит cHash, он выглядит как этот

http://host.com/mysite/en/about-us/

Что может быть причиной и как это исправить? Вот установка RealUrl

$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl']=array (
    '_DEFAULT' => 
    array (
    'init' => 
    array (
     'enableCHashCache' => true, 
     'enableCHashCache' => 1, 
     'respectSimulateStaticURLs' => 0, 
     'appendMissingSlash' => 'ifNotFile,redirect', 
     //'adminJumpToBackend' => true, 
     'enableUrlDecodeCache' => true, 
     'enableUrlEncodeCache' => true, 
     'emptyUrlReturnValue' => '/mysite/', 
    ), 
    'pagePath' => 
    array (
     'type' => 'user', 
     'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main', 
     'spaceCharacter' => '-', 
     'languageGetVar' => 'L', 
     'rootpage_id' => '1', 
     'firstHitPathCache'=> '1', 
    ), 
    'preVars' => 
    array (
     0 => 
     array (
     'GETvar' => 'L', 
     'valueMap' => 
     array (
      'cs' => '1', 
     ), 
     'noMatch' => 'bypass', 
    ), 
    ), 
    'fixedPostVars' => array(
     '19' => array(
     array(
      'GETvar' => 'tx_news_pi1[controller]', 
      'noMatch' => 'bypass', 
     ), 
     array(
      'GETvar' => 'tx_news_pi1[action]', 
      'noMatch' => 'bypass', 
     ), 
     array(
      'GETvar' => 'tx_news_pi1[news]', 
      'lookUpTable' => array(
       'table' => 
      'tx_news_domain_model_news', 
      'id_field' => 'uid', 
      'alias_field' => 'title', 
      'addWhereClause' => ' AND NOT deleted', 
      'useUniqueCache' => 1, 
      'useUniqueCache_conf' => array(
       'strtolower' => 1, 
       'spaceCharacter' => '-', 
      ), 
      'enable404forInvalidAlias' => '1', 
      'languageGetVar' => 'L', 
      'languageExceptionUids' => '', 
      'languageField' => 'sys_language_uid', 
      'transOrigPointerField' => 'l10n_parent', 
     ), 
    ), 
    ), 
    ), 

    ), 

); 
+0

Просто советую, не используйте CMS, если вы создаете пользовательское приложение. Я обнаружил, что получение CMS для вашей воли намного сложнее, чем просто строить с нуля. CMS хороши для простых сайтов; но если вы пытаетесь создать что-то с некоторыми расширенными функциями, вы должны просто строить с нуля. – user1477388

+0

Я полностью не согласен строить что-либо с нуля, особенно если вы работаете в одиночку. Один человек не может реализовать такую ​​безопасность, как команда безопасности TYPO3, или Symfony, или Zend. Нет необходимости изобретать колесо, если это не лучшее колесо :), и один человек вряд ли сможет это сделать сам по себе. – smitrovic

ответ

1

Я, кажется, закрепили его опорожнение tx_realurl_chashcache в базе данных.

8

С этой ошибкой я много сражался.

Перейти к Typo3 Install Tool => Все настройки и изменить значение 1 => 0 для этого атрибута.

[FE] [pageNotFoundOnCHashError] = 0

Я надеюсь, что это Гона решить проблему !!!

+1

Отлично! вы сохраняете мое время @Jimit спасибо :) –

+0

отлично, это работает, но снижает ли безопасность? – webMan

+0

@webMan: да, это снижает безопасность, это помогает при повышении уровня TYPO3. –

1

Мне пришлось отключить кеширование страницы. На моем сайте кажется, что параметр «no_cache» путает расчет чаша. Таким образом, я могу сохранить - я думаю, что важно - настройка безопасности [FE] [pageNotFoundOnCHashError] = 0

Смежные вопросы