#2G0#2G`#2Gp#2G##2G#72G#T2GP#2G#q2G#2G #2G0#2G#2G#Ѐ2G@#ހ2G V:G<2G`V:G_2GV:G o2G@W:G2GW:G82GX:G ā2G@Y:G9G(ց2Gp'GY:G2G`Z:G2GZ:G9G@62G@'G[:G0y2G\:G9G(t2G'G@]:G`^:Gu!d/G!/Gt!t2Gv!2G!*/Gw!5/Ge!2G!2G!ȇ2Gx!˃2Gy!2G!2G! 2Gz!x/G!/G!%2Gs!2G{!C2G!D/Gh! 2G|!Y2G!s2G!2G!/Gi!2G!t/G!2G!H2G!/Gj!2Gk!Ʉ2Gl!2Gm!2Gn!2Go!$2Gp!q/Gq!<2Gr!O2G!`2Gp!p2G`!w2G@!2GP!2G`!2G0!΅2Gp!2G!2G!2G!#2G!.2G!?2G!O2G!^2G !o2GP!}2G@!2G0!2G`!2G!2G!І2G !2G!2G! 2G!2G!,2G@!;2G!F2G!\2G!r2G!2Gp!2GP!2G%%2G2G'G 'G'G0'G@'G@'G%'G0'GЏ'Gp'GЎ'G'G'G@'Gf$H2Gg$b2Gi$w2Gy$2G$2Gh$2Gj$̉2G|$2G$2Gk$2Gl$2Gm$2Gn$)2Go$B2G~$Y2Ge$o2G{$2Gp$2Gq$u{1Gr$2Gz$2Gs$̊2G$2G$݊2G$2Gt$(2G$H2Gd$2G}$!2G$62Gu$L2Gv$g2Gw$t2G$2G$2G$2Gx$Ћ2G$2GP$2G$L2GP$2G$Q2G@$2Gp$2G$42G$G2G$]2G$q2G$2G$2G`$2G$2G$ƌ2G`$݌2G$2G$2Gp$2G$,2G $@2G$R2G0$c2G$z2G@$2G$2G$2Gund: ' . Environment::get('uri')); } // Store the page object if (\is_object($objNewPage)) { $objPage = $objNewPage; } } // Throw a 500 error if the result is still ambiguous if ($objPage instanceof Collection && $objPage->count() > 1) { System::getContainer()->get('monolog.logger.contao.error')->error('More than one page matches ' . Environment::get('base') . Environment::get('request')); throw new \LogicException('More than one page found: ' . Environment::get('uri')); } // Make sure $objPage is a Model if ($objPage instanceof Collection) { $objPage = $objPage->current(); } // If the page has an alias, it can no longer be called via ID (see #7661) if ($objPage->alias) { $language = $objPage->urlPrefix ? preg_quote($objPage->urlPrefix . '/', '#') : ''; $suffix = preg_quote($objPage->urlSuffix, '#'); if (preg_match('#^' . $language . $objPage->id . '(' . $suffix . '($|\?)|/)#', Environment::get('relativeRequest'))) { throw new PageNotFoundException('Page not found: ' . Environment::get('uri')); } } // Trigger the 404 page if an item is required but not given (see #8361) if ($objPage->requireItem) { $hasItem = false; if (Config::get('useAutoItem')) { $hasItem = isset($_GET['auto_item']); } else { foreach ($GLOBALS['TL_AUTO_ITEM'] as $item) { if (isset($_GET[$item])) { $hasItem = true; break; } } } if (!$hasItem) { throw new PageNotFoundException('Page not found: ' . Environment::get('uri')); } } // Inherit the settings from the parent pages $objPage->loadDetails(); $blnShowUnpublished = System::getContainer()->get('contao.security.token_checker')->isPreviewMode(); // Trigger the 404 page if the page is not published and the front end preview is not active (see #374) if (!$blnShowUnpublished && !$objPage->isPublic) { throw new PageNotFoundException('Page not found: ' . Environment::get('uri')); } // Load a website root page object (will redirect to the first active regular page) if ($objPage->type == 'root') { /** @var PageRoot $objHandler */ $objHandler = new $GLOBALS['TL_PTY']['root'](); throw new ResponseException($objHandler->getResponse($objPage->id)); } // Set the admin e-mail address if ($objPage->adminEmail) { list($GLOBALS['TL_ADMIN_NAME'], $GLOBALS['TL_ADMIN_EMAIL']) = StringUtil::splitFriendlyEmail($objPage->adminEmail); } else { list($GLOBALS['TL_ADMIN_NAME'], $GLOBALS['TL_ADMIN_EMAIL']) = StringUtil::splitFriendlyEmail(Config::get('adminEmail')); } // Exit if the root page has not been published (see #2425) // Do not try to load the 404 page, it can cause an infinite loop! if (!$blnShowUnpublished && !$objPage->rootIsPublic) { throw new PageNotFoundException('Page not found: ' . Environment::get('uri')); } // Check whether the language matches the root page language if (isset($_GET['language']) && $objPage->urlPrefix && Input::get('language') != LocaleUtil::formatAsLanguageTag($objPage->rootLanguage)) { throw new PageNotFoundException('Page not found: ' . Environment::get('uri')); } // Check whether there are domain name restrictions if ($objPage->domain && $objPage->domain != Environment::get('host')) { System::getContainer()->get('monolog.logger.contao.error')->error('Page ID "' . $objPage->id . '" was requested via "' . Environment::get('host') . '" but can only be accessed via "' . $objPage->domain . '" (' . Environment::get('base') . Environment::get('request') . ')'); throw new PageNotFoundException('Page not found: ' . Environment::get('uri')); } // Authenticate the user if the page is protected if ($objPage->protected) { $security = System::getContainer()->get('security.helper'); if (!$security->isGranted(ContaoCorePermissions::MEMBER_IN_GROUPS, $objPage->groups)) { if (($token = $security->getToken()) === null || System::getContainer()->get('security.authentication.trust_resolver')->isAnonymous($token)) { throw new InsufficientAuthenticationException('Not authenticated: ' . Environment::get('uri')); } $user = $security->getUser(); if ($user instanceof FrontendUser) { System::getContainer()->get('monolog.logger.contao.error')->error('Page ID "' . $objPage->id . '" can only be accessed by groups "' . implode(', ', $objPage->groups) . '" (current user groups: ' . implode(', ', StringUtil::deserialize($user->groups, true)) . ')'); } throw new AccessDeniedException('Access denied: ' . Environment::get('uri')); } } // Backup some globals (see #7659) $arrBackup = array( $GLOBALS['TL_HEAD'] ?? array(), $GLOBALS['TL_BODY'] ?? array(), $GLOBALS['TL_MOOTOOLS'] ?? array(), $GLOBALS['TL_JQUERY'] ?? array(), $GLOBALS['TL_USER_CSS'] ?? array(), $GLOBALS['TL_FRAMEWORK_CSS'] ?? array() ); try { $pageType = $GLOBALS['TL_PTY'][$objPage->type] ?? PageRegular::class; $objHandler = new $pageType(); // Backwards compatibility if (!method_exists($objHandler, 'getResponse')) { ob_start(); try { $objHandler->generate($objPage, true); $objResponse = new Response(ob_get_contents(), http_response_code()); } finally { ob_end_clean(); } return $objResponse; } return $objHandler->getResponse($objPage, true); } // Render the error page (see #5570) catch (UnusedArgumentsException $e) { // Restore the globals (see #7659) list( $GLOBALS['TL_HEAD'], $GLOBALS['TL_BODY'], $GLOBALS['TL_MOOTOOLS'], $GLOBALS['TL_JQUERY'], $GLOBALS['TL_USER_CSS'], $GLOBALS['TL_FRAMEWORK_CSS'] ) = $arrBackup; throw $e; } } /** * Try to load the page from the cache * * @deprecated Deprecated since Contao 4.0, to be removed in Contao 5.0. * Use the kernel.request event instead. */ protected function outputFromCache() { trigger_deprecation('contao/core-bundle', '4.0', 'Using "Contao\FrontendIndex::outputFromCache()" has been deprecated and will no longer work in Contao 5.0. Use the "kernel.request" event instead.'); } } class_alias(FrontendIndex::class, 'FrontendIndex'); An Error Occurred: Internal Server Error

Oops! An Error Occurred

The server returned a "500 Internal Server Error".

Something is broken. Please let us know what you were doing when this error occurred. We will fix it as soon as possible. Sorry for any inconvenience caused.