‪TYPO3CMS  9.5
TYPO3\CMS\Frontend\Middleware\SiteBaseRedirectResolver Class Reference
Inheritance diagram for TYPO3\CMS\Frontend\Middleware\SiteBaseRedirectResolver:

Public Member Functions

ResponseInterface process (ServerRequestInterface $request, RequestHandlerInterface $handler)
 

Protected Member Functions

bool isLanguageEnabled (SiteLanguage $language, BackendUserAuthentication $user=null)
 

Detailed Description

Resolves redirects of site if base is not / Can be replaced or extended by extensions if GeoIP-based or user-agent based language redirects need to happen.

Please note that the redirect usually does not contain the Query Parameters, as special query parameters like "id", "L" and "cHash" could then result in an error loop. One special case (adding a "/") is keeping the query parameters though.

Definition at line 39 of file SiteBaseRedirectResolver.php.

Member Function Documentation

◆ isLanguageEnabled()

bool TYPO3\CMS\Frontend\Middleware\SiteBaseRedirectResolver::isLanguageEnabled ( SiteLanguage  $language,
BackendUserAuthentication  $user = null 
)
protected

Checks if the language is allowed in Frontend, if not, check if there is valid BE user

Parameters
SiteLanguage | null$language
BackendUserAuthentication | null$user
Returns
‪bool

Definition at line 95 of file SiteBaseRedirectResolver.php.

References TYPO3\CMS\Core\Authentication\BackendUserAuthentication\checkLanguageAccess(), TYPO3\CMS\Core\Site\Entity\SiteLanguage\enabled(), and TYPO3\CMS\Core\Site\Entity\SiteLanguage\getLanguageId().

Referenced by TYPO3\CMS\Frontend\Middleware\SiteBaseRedirectResolver\process().

◆ process()

ResponseInterface TYPO3\CMS\Frontend\Middleware\SiteBaseRedirectResolver::process ( ServerRequestInterface  $request,
RequestHandlerInterface  $handler 
)

Redirect to default language if required

Parameters
ServerRequestInterface$request
RequestHandlerInterface$handler
Returns
‪ResponseInterface

Definition at line 48 of file SiteBaseRedirectResolver.php.

References $GLOBALS, TYPO3\CMS\Core\Routing\SiteRouteResult\getTail(), TYPO3\CMS\Frontend\Middleware\SiteBaseRedirectResolver\isLanguageEnabled(), TYPO3\CMS\Frontend\Page\PageAccessFailureReasons\LANGUAGE_NOT_AVAILABLE, and TYPO3\CMS\Frontend\Page\PageAccessFailureReasons\PAGE_NOT_FOUND.