Występuje nieprawidłowe zachowanie przy użyciu metody Zend _redirect
.Zend _redirect error: przedrostek adresu podstawowego dwa razy:
Moja kopie wniosku są przekazywane za pośrednictwem dowiązania symbolicznego w mojej DocumentRoot
. Również mój router domyślny jest dostosowany do reagowania na tego wzoru:
http://localhost/<appSymLink>/<param_A>/<controller>/<action>/
z kontrolera, skonstruować URL tak:
$url = $this->_helper->url('action', 'controller', $param_A = 'valueA');
Gdybym dostęp url:
http://localhost/<appSymLink>/<param_A>/<controller>/<action>/
Zmienna ta zawiera następujący ciąg:
/<appSymLink>/<param_A>/<controller>/<action>/
I kiedy zadzwonić
$this->_redirect($url);
Użytkownik jest wyraźnie skierowane do tej ścieżki, z nadmiarowych ścieżek bazowych.
/<appSymLink>/<appSymLink>/<param_A>/<controller>/<action>/
Zend wydaje się poprzedzenie ścieżki dna dwukrotnie.
Kopia wniosku mojej współpracownicy znajduje się w jego numerze DocumentRoot
i nie doświadcza tego problemu.
Definiowanie pustą ścieżkę bazową wewnątrz działania, tuż przed operacją, działa tak:
$this->getRequest()->setBaseUrl('');
Nie jest to oczywiście możliwe rozwiązanie. Z drugiej strony, wykonanie tego w wtyczce kontrolera pod numerem routeShutdown
eliminuje oba wystąpienia katalogu aplikacji.
Czy ktoś ma poradę w celu rozwiązania tego problemu, lub jakichkolwiek wskazówek dotyczących szukania w nim czterech?