2016-06-07 18 views
0

Auf meiner 404-Fehlerseite möchte ich die Referer-URL anzeigen und dann eine Suche ausführen, um zu versuchen, die richtige Seite zu finden.

In meiner Kopfvelocity Template-Datei, verwende ich

$response.sendRedirect("$link.requestBaseURL/404_page_not_found_7_293?t=$date.getSystemTime()") 

die Benutzer auf eine 404-Seite zu verweisen, wenn sie eine alten Stil-Seite (diese alten Seiten nicht mehr werden zuzugreifen versuchen sein soll zugegriffen, aber einige von ihnen können noch von Google indiziert werden).

Auf der 404-Seite selbst verwende ich

#set($referrer = $request.getHeader('referer')) 

die Referer zu bekommen, sondern die URL der Seite anzuzeigen, die den Benutzer auf die 404-Seite bezeichnet, zeigt es die URL der Seite, auf die sie zuvor zugegriffen haben! Wenn Sie beispielsweise zur Startseite der Website wechseln, klicken Sie auf einen fehlerhaften Link, der zur 404-Seite weitergeleitet wird - der Referer wird als Startseite und nicht als defekter Link angegeben.

Wie bekomme ich den richtigen Referer?

Antwort

0

Umleitungen ändern nicht den Referer-Header. Auch wenn es im HTTP 1.1 RFC nicht klar ist, ist es die Richtlinie der meisten Browser.

Die beste Option besteht darin, die fehlerhafte URL als Abfrageparameter von der defekten Seite selbst zu übergeben.