Создание 302 перенаправления на URL, который изменяется динамически, и передача справочной информации?

Я хочу перенаправить (302) моих посетителей mydomain.com/page.php на другой URL,
который содержит динамическое значение, такое как IP-адрес посетителя:

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

мой здравый смысл говорит, что это не может быть сделано с .htaccess, поскольку его содержимое является статическим,
и поэтому строка всегда будет выглядеть примерно так:

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

В настоящее время я сначала перенес пользователя на другую страницу PHP (mydomain.com/transfer.php) с этим кодом перенаправления:

$ip = $_SERVER['REMOTE_ADDR'] ;

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

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

Но это не похоже на перенаправление 302, так как код состояния, который я получаю, равен 200,
и для меня также важно передать исходную информацию об URL-адресе (mydomain.com/page.php) когда посетитель прибывает в external.com, но с моим текущим методом он прибывает с mydomain.com/transfer.php в качестве реферера.

0

Решение

Вы можете сделать это с .htaccess в вашем корневом каталоге:

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

Другие решения

Попробуйте это для 302:

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

Но вы никогда не получите правильного реферера при перенаправлении. Возможно, вам нужно добавить его в качестве переменной в URL.

0

По вопросам рекламы [email protected]