protected function handleNonExistingPostVarSet($pageId, $postVarSetKey, array &$pathSegments)
{
$failureMode = $this->configuration->get('init/postVarSet_failureMode');
if ($failureMode == 'redirect_goodUpperDir') {
$nonProcessedArray = array($postVarSetKey) + $pathSegments;
$badPathPart = implode('/', $nonProcessedArray);
$badPathPartPos = strpos($this->originalPath, $badPathPart);
$badPathPartLength = strlen($badPathPart);
if ($badPathPartPos > 0) {
// We also want to get rid of one slash
$badPathPartPos--;
$badPathPartLength++;
}
$goodPath = substr($this->originalPath, 0, $badPathPartPos) . substr($this->originalPath, $badPathPartPos + $badPathPartLength);
@ob_end_clean();
header(self::REDIRECT_STATUS_HEADER);
header(self::REDIRECT_INFO_HEADER . ': postVarSet_failureMode redirect for ' . $postVarSetKey);
header('Location: ' . GeneralUtility::locationHeaderUrl($goodPath));
exit;
} elseif ($failureMode == 'ignore') {
$pathSegments = array();
} else {
$this->throw404('Segment "' . $postVarSetKey . '" was not a keyword for a postVarSet as expected on page with id=' . $pageId . '.');
}
}