2009-01-27 25 views
0

我mod_rewrite我的頁面非常類似於它。我有www.example.com/users/login/它將在內部使用users.login.php作爲控制器。我想傳入一個參數作爲頁面重定向到登錄完成後。你如何將重定向URL傳遞到mod_rewritten頁面

如果你在你與一個非常奇特的看着URL結束了,因爲你逝去的東西像questions/相對URL傳遞,它看起來像users/login/questions/,而不是login.php?redir=questions.php

有沒有人有這可怎麼有任何意見或解決方案能夠很好地解決問題,而不會嚴重污染URL?我認爲這樣處理它的方式是將登錄表單置於「Ask Question」頁面。我想這是一個解決方案,但我正在尋找其他的可能性。

編輯:看起來好像使用$_SERVER['HTTP_REFERER']是迄今爲止最好的解決方案。有沒有理由不使用它?我意識到你可以僞造引薦人,但會實際上造成任何損害?

回答

3

我在包含url的登錄表單中使用隱藏字段,它適用於我。你也可以嘗試。

  1. 創建隱藏的輸入字段。
  2. 將輸入字段的值設置爲$referer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '';
  3. 獲取發佈的網址並將用戶重定向到該網址。

注意:並不總是設置HTTP_REFERER。

+0

雖然這並不能真正解決我的問題。我將如何將這些數據提供給登錄頁面? – 2009-01-27 18:20:41

+0

您有一個默認值,否則將數據添加到將用戶發送到登錄頁面的頁面中。 – 2009-01-27 18:45:38

+0

誰說我首先有表格? – 2009-01-27 18:55:49

0

爲什麼不使用像/users/login/?r=/questions/這樣的URL?或者,如果您不想使用該URL來獲取返回地址,則可以使用HTTP引用來源。

相關問題