2017-10-17 2 views
0

の中に保存されたとき、私は最初のページに次のコードを持っているのではなく、数が返されます:私は、次のページで$_SESSION['redirect_address']を呼び出すとき

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

それは私を与えますこのような何か:私はトンをチェックすると

/host/example.php?url=XYZ 

/host/example.php?1508270070 

それは次のように私にいろいろ書いを与える必要がありながら、彼は$_SESSION['redirect_address']の値を最初のページの最後のコードで私に正しい値を与え、同じ$_SESSION['redirect_address']をチェックしながら、2番目のページのコードの始めに数字を返し、運がないクッキーをクリアしようとしました。

ネットでこの4時間を過ごしましたが、誰も私の質問に答えられなかったので、助けてください!

+1

あなたはURL(Apache/nginx)を書き換えていますか? – kerbholz

+0

私が使用しているサーバーはApatcheです。これらのURLは動的ページ用です。このテクニックを使用してログインページにアクセスした後、ログインする前にクリックした元の動的ページに戻します。 – Mostafa

+0

私は同じ方法を使用する別のページを持っていますが、ログインページに行くときに問題は発生しませんが、URLと同じコードを正確に呼び出すためのコードはまったく同じです。 – Mostafa

答えて

0

あなたのnginxのは、それはおそらくすべきではない

何かをやっている...しかし、それは現在、RFC3986によると、完全なパスと「クエリ文字列を

  1. を行うように構成されたものです"をURIに含める必要があります。
  2. PHP $_SERVER文書によれば、$_SERVER('REQUEST_URI')ではなく、にはクエリ文字列が必要です。さまざまなサーバー構成とPHPバージョンでは、この変数に格納されているデータがあれば、その結果は非常に異なります。

あなたはおそらく、あなたが実際に以下のサーバ変数のために取得する値かどうか確認する必要があり、既存の環境の構成に基づいて、ご使用の環境

をチェックしてください:QUERY_STRINGORIG_PATH_INFOPATH_INFOPATH_TRANSLATEDSCRIPT_NAMEREQUEST_URI、およびPHP_SELF

セッションのリダイレクトを適宜調整します。

+0

多くの情報に感謝します。 – Mostafa

+0

多くの情報をありがとう、2つの異なるページがありますが、クリックしたポリシーを使用してGoogleのボットに動的Webページのインデックスを作成させていますが、ユーザーがページを保存するリンクをクリックすると、最初のページが完全にうまく動作するようになりました。$ _SESSIONは正しいURLを保持し、他のページ(同じ方法でURLを保存します)が保存されたリンクを次のように返します。他のページがうまく動作するので、サーバーの構成に問題はありません。 – Mostafa

+0

@Mostafa、あなたは "他のページ"の意味をより具体的にすることができますか? –

関連する問題