2011-06-29 3 views
2

J'ai deux actions dans le contrôleur:Redirecteur ZF. Pourquoi rediriger la page ne reçoit pas HTTP_REFERER?

function indexAction() 
{ 
    $this->_redirect('/index/welcome/'); 
} 

function welcomeAction() 
{ 
    echo isset($_SERVER['HTTP_REFERER']); 
} 

Redirect Après elle retourne toujours null. Comment le réparer?

+0

Je pense que vous devrez configurer manuellement une variable de session pour stocker l'URL du référent. – Marcin

+0

En fait, je l'ai fait. Je pense que c'est une façon de le résoudre pour l'instant) – Anthony

Répondre

1

La redirection (301,303) fonctionne au niveau HTTP et non au niveau HTML, c'est-à-dire qu'un navigateur n'a pas connaissance de la redirection à l'exception des informations pour mettre à jour l'URL.

0

Cela peut être:
fonction welcomeAction() { echo isset ($ _ SERVER [ 'HTTP_REFERER'])? $ _SERVER ['HTTP_REFERER']: ''; }

+0

Je l'ai essayé d'une manière différente) – Anthony

0

Je ne pense pas qu'il est spécifié qu'un client doit envoyer le Referer, il est donc très probable que votre navigateur ne fonctionne tout simplement pas envoyer le Referer à la demande redirigée. Vous pouvez vérifier cela en utilisant FireBug ou un autre outil qui vous permet d'inspecter les en-têtes de la demande. L'en-tête Referer est décrit dans RFC 2616.

+0

C'est étrange. Parce que dans une autre page cela fonctionne parfaitement. – Anthony

+0

Regardez les en-têtes qui sont envoyés du serveur au client et vice versa. –

Questions connexes