/ / Jak mogę przekierować na zewnętrzny adres URL w Zend - Zend-Framework, URL, Przekierowanie

Jak mogę przekierować do zewnętrznego adresu URL w zend-zend-framework, url, redirect

Próbuję utworzyć linki, takie jak /redirector/http://www.google.co.uk, aby uruchamiał niestandardowe działanie przekierowujące, które rejestruje użycie linków. Skonfigurowałem router za pomocą poniższego kodu,

routes.redirector.route = /redirector/:url
routes.redirector.defaults.module = default
routes.redirector.defaults.controller = index
routes.redirector.defaults.action = redirector

i używam tego w moim IndexController, alenie mogę go uruchomić. Myślę, że to z powodu podwójnego ukośnika do przodu w adresie URL, do którego należy przejść. Czy ktoś może dostarczyć mi rozwiązanie bez usuwania „http: //”, aby działało to w Zend?

    public function redirectorAction() {
$this->_redirector->gotoUrl($this->getRequest()->getParam("url"));
}

Odpowiedzi:

3 dla odpowiedzi № 1

Domyślna klasa trasy dzieli ścieżki nakomponenty podzielone przez /, więc: url nigdy nie będzie pełnym końcowym adresem URL. Zamiast tego możesz użyć routera Regex, który możesz zdefiniować, aby dopasować pełny adres URL żądania i mapę do parametru adresu URL.

routes.redirector.type = "Zend_Controller_Router_Route_Regex"
routes.redirector.route = "redirector/(.*)"
routes.redirector.defaults.module = default
routes.redirector.defaults.controller = index
routes.redirector.defaults.action = redirector
routes.redirector.map.1 = "url"