source/Application/Controller/FrontendController.php
protected function _processRequest()
    {
        $utils = \OxidEsales\Eshop\Core\Registry::getUtils();

        // non admin, request is not empty and was not processed by seo engine
        if (!isSearchEngineUrl() && $utils->seoIsActive() && ($requestUrl = getRequestUrl())) {
            // fetching standard url and looking for it in seo table
            if ($this->_canRedirect() && ($redirectUrl = \OxidEsales\Eshop\Core\Registry::getSeoEncoder()->fetchSeoUrl($requestUrl))) {
                $utils->redirect(\OxidEsales\Eshop\Core\Registry::getConfig()->getCurrentShopUrl() . $redirectUrl, false, 301);
            } elseif (VIEW_INDEXSTATE_INDEX == $this->noIndex()) {
                // forcing to set no index/follow meta
                $this->_forceNoIndex();

                if (\OxidEsales\Eshop\Core\Registry::getConfig()->getConfigParam('blSeoLogging')) {
                    $shopId = \OxidEsales\Eshop\Core\Registry::getConfig()->getShopId();
                    $languageId = \OxidEsales\Eshop\Core\Registry::getLang()->getBaseLanguage();
                    $id = md5(strtolower($requestUrl) . $shopId . $languageId);

                    // logging "not found" url
                    $database = \OxidEsales\Eshop\Core\DatabaseProvider::getDb();
                    $database->execute(
                        "replace oxseologs ( oxstdurl, oxident, oxshopid, oxlang ) values ( ?, ?, ?, ? ) ",
                        [$requestUrl, $id, $shopId, $languageId]
                    );
                }
            }
        }
    }
protected function _processRequest()
    {
        $utils = \OxidEsales\Eshop\Core\Registry::getUtils();

        // non admin, request is not empty and was not processed by seo engine
        if (!isSearchEngineUrl() && $utils->seoIsActive() && ($requestUrl = getRequestUrl())) {
            // fetching standard url and looking for it in seo table
            if ($this->_canRedirect() && ($redirectUrl = \OxidEsales\Eshop\Core\Registry::getSeoEncoder()->fetchSeoUrl($requestUrl))) {
                $utils->redirect(\OxidEsales\Eshop\Core\Registry::getConfig()->getCurrentShopUrl() . $redirectUrl, false, 301);
            } elseif (VIEW_INDEXSTATE_INDEX == $this->noIndex()) {
                // forcing to set no index/follow meta
                $this->_forceNoIndex();

                if (\OxidEsales\Eshop\Core\Registry::getConfig()->getConfigParam('blSeoLogging')) {
                    $shopId = \OxidEsales\Eshop\Core\Registry::getConfig()->getShopId();
                    $languageId = \OxidEsales\Eshop\Core\Registry::getLang()->getBaseLanguage();
                    $id = md5(strtolower($requestUrl) . $shopId . $languageId);

                    // logging "not found" url
                    $database = \OxidEsales\Eshop\Core\DatabaseProvider::getDb();
                    $database->execute(
                        "replace oxseologs ( oxstdurl, oxident, oxshopid, oxlang ) values ( ?, ?, ?, ? ) ",
                        [$requestUrl, $id, $shopId, $languageId]
                    );
                }
            }
        }
    }
protected function _processRequest ( ) { $ utils = \ OxidEsales \ Eshop \ Core \ Registry :: getUtils ( ) ; // non admin, request is not empty and was not processed by seo engine if ( ! isSearchEngineUrl ( ) && $ utils -> seoIsActive ( ) && ( $ requestUrl = getRequestUrl ( ) ) ) { // fetching standard url and looking for it in seo table if ( $ this -> _canRedirect ( ) && ( $ redirectUrl = \ OxidEsales \ Eshop \ Core \ Registry :: getSeoEncoder ( ) -> fetchSeoUrl ( $ requestUrl ) ) ) { $ utils -> redirect ( \ OxidEsales \ Eshop \ Core \ Registry :: getConfig ( ) -> getCurrentShopUrl ( ) . $ redirectUrl , false , 301 ) ; } elseif ( VIEW_INDEXSTATE_INDEX == $ this -> noIndex ( ) ) { // forcing to set no index/follow meta $ this -> _forceNoIndex ( ) ; if ( \ OxidEsales \ Eshop \ Core \ Registry :: getConfig ( ) -> getConfigParam ( 'blSeoLogging' ) ) { $ shopId = \ OxidEsales \ Eshop \ Core \ Registry :: getConfig ( ) -> getShopId ( ) ; $ languageId = \ OxidEsales \ Eshop \ Core \ Registry :: getLang ( ) -> getBaseLanguage ( ) ; $ id = md5 ( strtolower ( $ requestUrl ) . $ shopId . $ languageId ) ; // logging "not found" url $ database = \ OxidEsales \ Eshop \ Core \ DatabaseProvider :: getDb ( ) ; $ database -> execute ( "replace oxseologs ( oxstdurl, oxident, oxshopid, oxlang ) values ( ?, ?, ?, ? ) " , [ $ requestUrl , $ id , $ shopId , $ languageId ] ) ; } } } }
In non admin mode checks if request was NOT processed by seo handler.
If NOT, then tries to load alternative SEO url and if url is available -
redirects to it. If no alternative path was found - 404 header is emitted
and page is rendered
In non admin mode checks if request was NOT processed by seo handler . If NOT then tries to load alternative SEO url and if url is available - redirects to it . If no alternative path was found - 404 header is emitted and page is rendered