为什么在 realurl 中使用不存在的别名时会出现不同的错误? 404 与 postvarsets,500 与 fixedpostvars

Why do I get different errors when I use a non-existing alias in realurl? 404 with postvarsets, 500 with fixedpostvars

对于两个不同的扩展,我有两种不同的配置。 对于新闻,我使用 postvarsets:

'postVarSets' =>
array (
  '_DEFAULT' =>
  array (
    'news' =>
    array (
      0 =>
      array (
        'GETvar' => 'tx_news_pi1[news]',
        'lookUpTable' =>
        array (
          'table' => 'tx_news_domain_model_news',
          'id_field' => 'uid',
          'alias_field' => 'title',
          'useUniqueCache' => 1,
          'useUniqueCache_conf' =>
          array (
            'strtolower' => 1,
            'spaceCharacter' => '-',
          ),
        ),
      ),
    ),
  ),
)

对于显示类别的自己的扩展,我使用 fixedpostvars:

'fixedPostVars' =>
array (
  'category' =>
  array (
    0 =>
    array (
      'GETvar' => 'tx_myextension_plugin[mainCategory]',
      'lookUpTable' =>
      array (
        'table' => 'sys_category',
        'id_field' => 'uid',
        'alias_field' => 'title',
        'languageGetVar' => 'L',
        'languageField' => 'sys_language_uid',
        'transOrigPointerField' => 'l10n_parent',
        'useUniqueCache' => 1,
        'useUniqueCache_conf' =>
        array (
          'strtolower' => 1,
          'spaceCharacter' => '-',
        ),
      ),
    ),
  ),
),

如果我现在在新闻中使用一些无效的 URL,我会得到 404(完全正确)。 如果我现在在我的 URL 中使用一些无效类别,我会收到 500 错误消息:

Exception while property mapping at property path "": The identity property "ergeriguehrgoiekweukw" is no UID.

为什么这两种配置之间存在差异?我怎样才能获得 fixedpostvars 的 404?

我不确定,但我认为这对您有用。添加 'enable404forInvalidAlias' => 1,用于获取 404 错误。在 fixedPostVars realURL 配置中。