0

我想重定向(302)我的mydomain.com/page.php遊客到另一個URL, 包含動態值,如訪問者的IP地址:創建302重定向到動態更改的URL並傳遞引用信息?

http://external.com/?ip=100.0.0.1

我的常識說,這不能與.htaccess來完成,因爲它的內容是靜態的, 因此線將永遠是這樣的:

redirect 302 /redir-number-1 http://external.com/[not-useful-static-value]

目前我」 m個第一用戶提供這種重定向代碼轉移到另一個PHP頁面(mydomain.com/transfer.php):

$ip = $_SERVER['REMOTE_ADDR'] ; 

$url = "http://external.com/?$ip; 

header("refresh:1;url=$url"); 

但是,這似乎並沒有包含一個302重定向,作爲狀態代碼我得到的是200, 它也是當訪問者到達external.com時,我通過原始引用URL信息(mydomain.com/page.php)很重要,但是使用我目前的方法,他以mydomain.com/transfer.php作爲引用者到達。

回答

0

試試這個爲302:

header("Location: $url", true, 302);

但你永遠不會得到一個重定向正確引用。您需要將其作爲變量添加到網址中。

+0

謝謝,這似乎是實際工作,雖然是有辦法有這個頁面進行重定向只有1秒暫停後,類似我以前的代碼?我確實使用你的方法得到了正確的原始引用者來顯示。如果有人能提供關於它現在如何工作的原因,我會很高興。 – rockyraw 2014-11-23 20:42:56

+0

當然,只要在當前標題的末尾加上',true,302' – rjdown 2014-11-23 20:48:57

+0

如果我這樣做了,原始引用鏈接將不會被傳遞。它會是'mydomain.com/transfer.php'。任何其他想法來實現這一目標? – rockyraw 2014-11-23 21:09:51

1

你可以做到這一點與您的根目錄.htaccess

RewriteEngine on 
RewriteRule ^page\.php$ http://external.com/?ip=%{REMOTE_ADDR} [R=302,L] 
+1

是的,這是正確的方法+1 – anubhava 2014-11-24 02:16:20

+0

謝謝,我知道我沒有寫在我的問題,但知識產權只是我想要的字符串之一,我也想要字符串檢查是否或案例條件,這也將在網址中發揮作用,在這種情況下,我想用'.htaccess'沒有辦法做到這一點? – rockyraw 2014-11-24 11:05:44

+0

是的,你是對的:用.htaccess沒有辦法做到這一點...如果你沒有準確解釋你想要的東西 – Croises 2014-11-24 12:20:35