Zend Framework: Wie man eine 301-Weiterleitung von den alten Routen zu neuen Routen?

Ich habe eine große Liste von alten Routen, die ich brauche, um umzuleiten, um neue Routen.

Ich bin schon die Definition meiner Routen in der Bootstrap Datei:

protected function _initRoutes()
{
    $router = Zend_Controller_Front::getInstance()->getRouter();

    $oldRoute = 'old/route.html';
    $newRoute = 'new/route/*';

    //how do I add a 301 redirect to the new route?

    $router->addRoute('new_route', 
        new Zend_Controller_Router_Route($newRoute,
            array('controller' =>'fancy', 'action' => 'route')
    ));
}

Wie kann ich Routen, die Umleitung der alten Routen, die mit einem 301-redirect auf die neuen Routen?

Warum der Versand von 301, wenn dabei keine Umleitung? Von was ich sehen kann tun Sie nur anzeigen die alten Routen der neue ohne redirect?
sorry, schlechtes Beispiel. Ich bin versucht, umleiten, nicht die route.
Ich habe aktualisiert das Beispiel, um deutlicher zu sein
Du bist immer noch Fragen über Router - Sie haben nichts zu tun mit Umleitungen und den (http -) response. In der Zeit, die Sie init Router haben Sie keine response-Objekt, wie die Anfrage nicht versandt noch. Also ist der einzige Weg, um umzuleiten, gibt es mit der php-header-Funktion. Aber um ehrlich zu sein, ich verstehe nicht, Ihre Frage. Ich denke, Sie wollen, dass die alten urls/Routen ('/new/route/1234') zugeordnet werden, der neue controller/Aktionen? Wenn das der Fall ist, tun Sie das nicht jede Umleitung noch nicht. Wenn es schon umgeleitet, es ist zu spät für einen http-status-code. Wo findet der eigentliche redirect passieren (code?)?

InformationsquelleAutor Andrew | 2010-11-19

Schreibe einen Kommentar