Kaynağa Gözat

#2815 minor SEO fixes: point 5 - redirect

Alex Trofimov 6 yıl önce
ebeveyn
işleme
25199855cc
2 değiştirilmiş dosya ile 9 ekleme ve 2 silme
  1. 8 1
      inc/classes/BxDolPage.php
  2. 1 1
      page.php

+ 8 - 1
inc/classes/BxDolPage.php

@@ -152,7 +152,7 @@ class BxDolPage extends BxDolFactory implements iBxDolFactoryObject, iBxDolRepla
      * @param $sURI unique page URI
      * @return object instance or false on error
      */
-    static public function getObjectInstanceByURI($sURI = '', $oTemplate = false)
+    static public function getObjectInstanceByURI($sURI = '', $oTemplate = false, $bRedirectCheck = false)
     {
     	if(empty($sURI) && bx_get('i') !== false)
     		$sURI = bx_process_input(bx_get('i'));
@@ -161,6 +161,13 @@ class BxDolPage extends BxDolFactory implements iBxDolFactoryObject, iBxDolRepla
 			return false;
 
         $sObject = BxDolPageQuery::getPageObjectNameByURI($sURI);
+        if ($bRedirectCheck && !$sObject && '/' == substr($sURI, -1)) {
+            header("HTTP/1.1 301 Moved Permanently");
+            unset($_GET['i']);
+            header ('Location:' . bx_append_url_params(BX_DOL_URL_ROOT . BxDolPermalinks::getInstance()->permalink('page.php?i=' . trim($sURI, '/')), $_GET));
+            exit;
+        }
+
         return $sObject ? self::getObjectInstance($sObject, $oTemplate) : false;
     }
 

+ 1 - 1
page.php

@@ -14,7 +14,7 @@ bx_import('BxDolLanguages');
 
 check_logged();
 
-$oPage = BxDolPage::getObjectInstanceByURI();
+$oPage = BxDolPage::getObjectInstanceByURI('', false, true);
 if ($oPage) {
 
     $oPage->displayPage();