Przekierowania w Zend Framework


Ostatnio instalowałem aplikację opartą o Zend Framework na serwerze używającym oprogramowania IdeaWebServer i okazało się, że nie działają przekierowania: każda próba przekierowania za pomocą klasy Zend_Controller_Action_Helper_Redirector kończyła się błędem Internal Server Error 500. W pierwszej chwili pomysłałem że to wina serwera, ale błąd okazał się mieć źródło w samym ZF.

Po sprawdzeniu nagłówków i zawartości tablicy $_SERVER nie udało się niczego konkretnego ustalic. Na szczęście okazało się że podobny błąd był już zgłoszony (ZF-778) i połowicznie rozwiązany. Rozwiązanie jest bardzo proste - przed przekierowaniem trzeba włączyć użycie absolutnych adresów:

PHP:
  1. $redirectHelper->setUseAbsoluteUri(true);

Domyślne ustawienie tej wartości w ZF na FALSE jest nieco dziwne, ponieważ dokument RFC 2616 jasno określa, że adres dla nagłówka Location ma być absolutny (RFC 2616, punkt 14.30). Mam nadzieję że w którejś z nastęnych wersji domyślne ustawienie zostanie zmienione.

Informacje oraz linki


Inne artykuły
Zend Framework 1.6 RC1
Liczby całkowite w Zend_Form
Polecane
Zend Studio - The premiere PHP IDE

Dodaj komentarz

Poświęć chwilę i wyraź swoją opinię. Możesz użyć niektórych znaczników HTML.

Komentarze czytelników

Zastanawiam się nad użytecznością ZF w ogóle. Mnie osobiście zniecheciło wywalanie się całego Apache’a przy literówkach z mojej strony - zawsze się moze przecież zdarzyc - ale żeby cały serwer przez to padal??

Czy w ogole warto interesowac sie ZF?

Sorry, ze troche OT, ale ciagle mnie zastanawia jak prezentuje sie wspolpraca z ZF po dluzszym posiedzeniu.