2017-10-17 2 views
0

ich den folgenden Code in der ersten Seite haben:

$_SESSION['redirect_address'] = $_SERVER['REQUEST_URI']; 

wenn ich $_SESSION['redirect_address'] in der nächsten Seite nennen es gibt mir so etwas wie dieses:

/host/example.php?1508270070 

während es gib mir muss someting wie:

/host/example.php?url=XYZ 

Wenn ich überprüfen t er Wert von $_SESSION['redirect_address'] am Ende Code der ersten Seite gibt es mir den richtigen Wert, während die Überprüfung $_SESSION['redirect_address'] am Anfang des Codes der zweiten Seite gibt es die Zahlen, versucht, Cookies ohne Glück zu löschen.

Auf diese 4 Stunden über das Internet, und niemand konnte meine Frage beantworten, bitte helfen!

+1

Umschreiben Sie URLs (Apache/nginx)? – kerbholz

+0

Der Server, den ich benutze, ist Apatche, diese URLs sind für dynamische Seiten, ich benutze diese Technik, um Benutzer zur Anmeldeseite gehen zu lassen und sie danach wieder auf die ursprüngliche dynamische Seite zu bringen, auf die sie geklickt haben, bevor sie sich anmeldeten – Mostafa

+0

Wie ich habe eine andere Seite, die die gleiche Methode verwendet, wenn es auf der Anmeldeseite geht kein Problem auftritt, obwohl ich genau den gleichen Code für die URL und den gleichen Code genau zum Abrufen ist. – Mostafa

Antwort

0

Ihr NGINX etwas tut es sollte wohl nicht

... aber das ist, was es zur Zeit zu tun

  1. Nach RFC3986, den vollständigen Pfad und „Abfrage-String konfiguriert ist, "sollte in der URI enthalten sein.
  2. Gemäß PHP $_SERVER Dokumentation, $_SERVER('REQUEST_URI')nicht unbedingt die Abfragezeichenfolge enthalten. Verschiedene Serverkonfigurationen und PHP-Versionen haben sehr unterschiedliche Ergebnisse in Bezug darauf, welche Daten in dieser Variablen gespeichert sind.

Überprüfen Sie Ihre Umgebung

Basierend auf der Konfiguration der vorhandenen Umgebung, sollten Sie vielleicht überprüfen, welche Werte Sie tatsächlich für die folgenden Server-Variablen erhalten: QUERY_STRING, ORIG_PATH_INFO, PATH_INFO, PATH_TRANSLATED, SCRIPT_NAME, REQUEST_URI und PHP_SELF .

Passen Sie Ihre Sitzungsweiterleitung entsprechend an.

+0

Vielen Dank für die Info. – Mostafa

+0

Vielen Dank für die Info, es gibt zwei verschiedene Seiten, ich verwende On-Click-Richtlinie, um Google Bots dynamische Webseiten indexieren zu lassen, aber wenn der Benutzer auf einen Link klickt, sollte die Website die Seite speichern, den Benutzer zu verweisen Login-Seite, dann schicken Sie ihn zurück zu der Seite, die an erster Stelle geklickt wurde, jetzt erste Seite funktioniert einwandfrei, die $ _SESSION behält die richtige URL während die andere Seite (die URLs auf die gleiche Weise speichern) den gespeicherten Link als zurückgeben in der Frage beschrieben, daher ist an der Konfiguration des Servers nichts auszusetzen, da die andere Seite einwandfrei funktioniert. – Mostafa

+0

@Mostafa, könnten Sie genauer sein, was Sie mit "andere Seite" meinen? –

Verwandte Themen