Redirección del observador no funciona (caché de página completa + APC activado)
-
30-10-2019 - |
Pregunta
Estoy tratando de redirigir a URL personalizada si cierta URL se combina con el evento: controller_action_predispatch
A> Evento de registro: controlador_action_predispatch
<frontend>
<events>
<controller_action_predispatch>
<observers>
<redirect_controller_action_predispatch>
<class>redirect/observer</class>
<method>controllerActionPredispatch</method>
</redirect_controller_action_predispatch>
</observers>
</controller_action_predispatch>
</events>
</frontend>
b> Implementación del modelo Observer
<?php
class MagePsycho_Redirect_Model_Observer
{
public function controllerActionPredispatch(Varien_Event_Observer $observer)
{
$action = $observer->getControllerAction();
$request = $action->getRequest();
$requestUrl = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : $request->getRequestUri();
if (stripos($requestUrl, '/' . 'old-404-url-key') !== false) {
$redirectUrl = Mage::getUrl('new-url-key');
Mage::log('redirect-matched::' . $redirectUrl);
$action->getResponse()->setRedirect($redirectUrl, 301);
$action->getRequest()->setDispatched(true);
return;
}
}
}
El código anterior funciona bien en localhost pero no en el servidor en vivo donde se enciende el caché de caché de página completa + APC en caché (Magento EE 1.13).
¿Qué me estoy perdiendo, cualquier cosa debe verificarse en caso de cache de la página completa + APC activado?
Se agradece cualquier ayuda.
EDITAR
El problema de redirección es solo para un error 404. Si trato de redirigir alguna página no existente (es decir, 404 página) a una página válida, la redirección no funciona.
No hay solución correcta
Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange