【问题标题】:TYPO3 RealUrl switch to manual config produces errorTYPO3 RealUrl 切换到手动配置产生错误
【发布时间】:2017-12-13 11:07:32
【问题描述】:

我正在执行以下答案的确切步骤: https://stackoverflow.com/a/16731438

但是,如果我切换到手动配置,我会收到以下错误,即使我的 realurl_conf.php 与之前的 realurl_autoconf.php 文件完全相同:

Page Not Found

Reason: Segment "fotografie" was not a keyword for a postVarSet as expected on page with id=0.

如果我切换回自动配置,一切都会按预期工作。

对此有什么想法吗?

TYPO3 7.6.11

这里是realurl_autoconf.php

<?php
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl']=array (
  'brightfocus.de' => 
  array (
    'init' => 
    array (
      'appendMissingSlash' => 'ifNotFile,redirect',
      'emptyUrlReturnValue' => '/',
    ),
    'pagePath' => 
    array (
      'rootpage_id' => '1',
    ),
    'fileName' => 
    array (
      'defaultToHTMLsuffixOnPrev' => 0,
      'acceptHTMLsuffix' => 1,
      'index' => 
      array (
        'print' => 
        array (
          'keyValues' => 
          array (
            'type' => 98,
          ),
        ),
      ),
    ),
    'postVarSets' => 
    array (
      '_DEFAULT' => 
      array (
        't3extblog-action' => 
        array (
          0 => 
          array (
            'GETvar' => 'tx_t3extblog_blogsystem[action]',
            'noMatch' => 'bypass',
          ),
        ),
        'article' => 
        array (
          0 => 
          array (
            'GETvar' => 'tx_t3extblog_blogsystem[year]',
          ),
          1 => 
          array (
            'GETvar' => 'tx_t3extblog_blogsystem[month]',
          ),
          2 => 
          array (
            'GETvar' => 'tx_t3extblog_blogsystem[day]',
          ),
          3 => 
          array (
            'GETvar' => 'tx_t3extblog_blogsystem[post]',
            'lookUpTable' => 
            array (
              'table' => 'tx_t3blog_post',
              'id_field' => 'uid',
              'alias_field' => 'title',
              'addWhereClause' => ' AND NOT deleted AND NOT hidden',
              'useUniqueCache' => 1,
              'useUniqueCache_conf' => 
              array (
                'strtolower' => 1,
                'spaceCharacter' => '-',
              ),
              'enable404forInvalidAlias' => 1,
              'autoUpdate' => 1,
              'expireDays' => 180,
              'languageGetVar' => 'L',
              'languageExceptionUids' => '',
              'languageField' => 'sys_language_uid',
              'transOrigPointerField' => 'l18n_parent',
            ),
          ),
        ),
        'comment' => 
        array (
          0 => 
          array (
            'GETvar' => 'tx_t3extblog_blogsystem[controller]',
            'noMatch' => 'bypass',
            'valueMap' => 
            array (
              'new' => 'Comment',
            ),
          ),
        ),
        'permalink' => 
        array (
          0 => 
          array (
            'GETvar' => 'tx_t3extblog_blogsystem[permalinkPost]',
          ),
        ),
        'preview' => 
        array (
          0 => 
          array (
            'GETvar' => 'tx_t3extblog_blogsystem[previewPost]',
          ),
        ),
        'author' => 
        array (
          0 => 
          array (
            'GETvar' => 'tx_t3extblog_blogsystem[author]',
            'lookUpTable' => 
            array (
              'table' => 'be_users',
              'id_field' => 'uid',
              'alias_field' => 'username',
              'addWhereClause' => ' AND deleted !=1 AND disable !=1',
              'useUniqueCache' => 1,
              'useUniqueCache_conf' => 
              array (
                'strtolower' => 1,
                'spaceCharacter' => '-',
              ),
              'enable404forInvalidAlias' => 1,
              'autoUpdate' => 1,
              'expireDays' => 180,
            ),
          ),
        ),
        'tags' => 
        array (
          0 => 
          array (
            'GETvar' => 'tx_t3extblog_blogsystem[tag]',
          ),
        ),
        'category' => 
        array (
          0 => 
          array (
            'GETvar' => 'tx_t3extblog_blogsystem[category]',
            'lookUpTable' => 
            array (
              'table' => 'tx_t3blog_cat',
              'id_field' => 'uid',
              'alias_field' => 'catname',
              'addWhereClause' => ' AND deleted !=1 AND hidden !=1',
              'useUniqueCache' => 1,
              'useUniqueCache_conf' => 
              array (
                'strtolower' => 1,
                'spaceCharacter' => '-',
              ),
              'enable404forInvalidAlias' => 1,
              'autoUpdate' => 1,
              'expireDays' => 180,
              'languageGetVar' => 'L',
              'languageExceptionUids' => '',
              'languageField' => 'sys_language_uid',
              'transOrigPointerField' => 'l18n_parent',
            ),
          ),
        ),
        'page' => 
        array (
          0 => 
          array (
            'GETvar' => 'tx_t3extblog_blogsystem[@widget_0][currentPage]',
          ),
        ),
        'subscription' => 
        array (
          0 => 
          array (
            'GETvar' => 'tx_t3extblog_subscriptionmanager[controller]',
            'valueMap' => 
            array (
              'blog' => 'BlogSubscriber',
              'post' => 'PostSubscriber',
            ),
            'noMatch' => 'bypass',
          ),
          1 => 
          array (
            'GETvar' => 'tx_t3extblog_subscriptionmanager[action]',
            'valueMap' => 
            array (
              'confirmation' => 'confirm',
              'create' => 'create',
              'delete' => 'delete',
              'error' => 'error',
              'logout' => 'logout',
            ),
            'noMatch' => 'bypass',
          ),
          2 => 
          array (
            'GETvar' => 'tx_t3extblog_subscriptionmanager[code]',
          ),
        ),
        'subscription-blog' => 
        array (
          0 => 
          array (
            'GETvar' => 'tx_t3extblog_blogsubscription[action]',
          ),
        ),
      ),
    ),
  ),
);

编辑: 可能rootpageId有问题: 如果我将 autoconf 从 rootpage id 1 编辑到 rootpage id 2 我得到以下错误: 找不到页面

Reason: Segment "fotografie" was not a keyword for a postVarSet as expected on page with id=2.

=> 我假设id=2 部分来自我的rootpageId。回到我原来的错误,我假设以某种方式指定了0 的rootpageId(即使设置了rootpage_id = '1'

我的网站结构如下:

id=0
|id=1 (Home; Redirect to id=2; marked as rootpage)
-|id=2 (Startseite)
-|id=3 (Fotografie)
-|id=4 (Grafikdesign)

我知道这并不理想,但是使用 autoconf 这个结构是有效的,所以我认为必须有一种方法可以使用手动 conf 来实现它,而无需更改结构(因为我认为这不是微不足道的)

【问题讨论】:

  • 能把typo3conf文件夹里已经生成的realurl_conf.php给个吗?无论如何,它可能与 rootpage id 有关,您可能必须在配置中设置它。将在下面发布我用于我的网站的示例。

标签: php typo3 typo3-7.6.x realurl


【解决方案1】:

试试这个非常简单的配置:rootpage 也定义了域名,这可能有效,但我总是在不同类型的域(本地/子/nregular)和路径缓存上遇到 realurl 问题。

可以在后端刷新路径缓存:Web > 语音 URL 的 > “在树中选择页面” > 刷新所有条目(有害)。不要在索引网站上这样做!

希望这个配置对你有用。

<?php
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl'] = array (
    '_DEFAULT' => array (
        'init' => array (
            'enableCHashCache' => '1',
            'appendMissingSlash' => 'ifNotFile',
            'enableUrlDecodeCache' => '1',
            'enableUrlEncodeCache' => '1',
        ),
        'redirects' => array (
        ),
        'pagePath' => array (
            'type' => 'user',
            'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
            'spaceCharacter' => '-',
            'languageGetVar' => 'L',
            'expireDays' => '7',
            'rootpage_id' => $rootpageId,
        ),
    ),
); 
switch($_SERVER['HTTP_HOST']) {
    case 'yourwebsite.com':
    case 'www.yourwebsite.com':
        $TYPO3_CONF_VARS['FE']['pageNotFound_handling'] = 'index.php?id=4';
        $TYPO3_CONF_VARS['FE']['pageNotFound_handling_statheader'] = 'HTTP/1.0 404 Not Found';
        $rootpageId = 1;
    break;
} 
?>

【讨论】:

  • 抱歉回复晚了,工作很忙。替换我自己的域名后,我仍然遇到与之前描述的相同的错误。将我的 realurl_autoconf.php 添加到我的帖子中
猜你喜欢
  • 1970-01-01
  • 2015-04-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多