Error 404 con Prestashop: fare il redirect delle pagine “Error 404” alla home page

Error 404 con Prestashop: fare il redirect delle pagine “Error 404” alla home page

  • Blog
  • Letto 1093 volte

Nell’articolo vi spiego come fare il redirect delle pagine con error 404 alla home page di un sito fatto con Prestashop

Mi sto cimentando da un po’ di tempo con questo CMS specializzato per ecommerce e devo dire che lo trovo davvero ben fatto e intuitivo. Anche l’installazione, che a prima vista sembra alquanto ostico, è in realtà molto lineare. Ma c’è sempre da imparare… Per esempio l’altro giorno mi sono trovato alle prese con un problema che, benché (pensavo) di semplice soluzione, mi ha fatto perdere più tempo del necessario. Avevo bisogno di fare un redirect alla home page ogni quale volta un utente visualizzava una pagina non più esistente. Quindi volevo che a ogni visualizzazione della Pagina di errore 404 ci fosse un redirect alla home page.

Non perdo tempo raccontandovi di tutti i tentativi falliti e vi posto subito la soluzione :)

Come fare il redirect delle pagine con error 404 alla home page con Prestashop

Navigate nella cartella /controllers/front/ e cercate il file pagenotfoundcontroller.php

Cancellate quello che c’è dentro questo file e incollate questo:

<?php
/*
* 2007-2013 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.or...ses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo. so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.>
* @copyright 2007-2013 PrestaShop SA
* @license	http://opensource.or...ses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/

class PageNotFoundControllerCore extends FrontController
{ /*ini sudah diganti */
public $php_self = '404';
public $page_name = 'pagenotfound';

/**
* Assign template vars related to page content
* @see FrontController::initContent()
*/
public function initContent()
{
/*here you should change your homepage */
header("Location: http://www.site.it”);

if (in_array(Tools::strtolower(substr($_SERVER['REQUEST_URI'], -3)), array('png', 'jpg', 'gif')))
{
header('Content-Type: image/gif');
readfile(_PS_IMG_DIR_.'404.gif');
exit;
}
elseif (in_array(Tools::strtolower(substr($_SERVER['REQUEST_URI'], -3)), array('.js', 'css')))
exit;

parent::initContent();

$this->setTemplate(_PS_THEME_DIR_.'404.tpl');
}

public function canonicalRedirection($canonical_url = '')
{
// 404 - no need to redirect to the canonical url
}
}

Cercate la riga

/*here you should change your homepage */
header("Location: http://www.site.it”);

e sostituite http://www.site.it con la home page del vostro sito. Automaticamente ogni qual volta un utente andrà su un link non più valido sul vostro ecommerce, verrà reindirizzato alla home page.  

Contattami


contattami.png

Sign up to keep in touch!

Se mi lasci la tua mail ti invierò comunicati stampa inerenti alla mia attività


Ovviamente puoi cancellarti quando lo ritieni opportuno