2013-03-20 8 views
0

ли можно перенаправить в файл 2 раза, то на третий раз он перенаправлять куда-то ещеПеренаправление файл только один раз

EX: /index.php перенаправлять /index2.php затем /index2.php перенаправления /index.php ..... ,,,,, то во второй раз, когда мы посетим /index.php, он перенаправит нас в другой файл?

можем ли мы сделать это с помощью javascript или PHP?

ответ

1

index.php redirets к index2.php

index2.php перенаправляет index.php?r=1

в чеке index.php:

if($_GET['r']==1){ 
    //redirect to other page 
} 

ОБНОВЛЕНИЕ

Как я понял, у вас есть это перенаправляет:

1. Somewhere => index.php 
2. index.php => site.com 
3. site.com => index.php // and in this step you need to redirect to other place 

Так просто добавить проверку:

<script type="text/javascript"> 
if(document.referrer == 'site.com'){ 
    location.href = 'OTHER PAGE ADDRESS'; 
} 
else{ 
    location.href = 'site.com'; 
} 
</script> 

Таким образом, если пользователь пришел с другого сайта, он будет перенаправлять site.com, если он с сайта. com, когда в другое место.

+0

К сожалению я думаю, что я задать неправильный вопрос я только иметь контроль над 1 перенаправлением, так что я могу контролировать только 1 файл EX: HTTP: //site.com/redirect1 перенаправлять MySITE/индекс .php, тогда mysite/index.php перенаправляет на site.com/redirect1, поэтому прямо сейчас я использую javascript для перенаправления setInterval (function() {document.location = "site.com/redirect1 "}, 3500), но это в конечном итоге похоже на белку в колесе: P – cton453

+0

В этом случае вы можете использовать' document.referrer' и проверить, не переадресовывается ли оно с сайта на сайт. – Narek

+0

как это будет работать ? Что я могу использовать для счетчика? – cton453

0

Да, вы можете добавить счетчик в переменную сеанса, чтобы отслеживать перенаправление. После каждого перенаправления увеличивайте счетчик.

Когда счетчик достигнет своего предела, выполните требуемое действие.

+0

спасибо за любой пример для этого? – cton453

+0

set $ _SESSION [counter] = 0; Как раз перед приращением перенаправления счетчик выглядит следующим образом: $ _SESSION [counter] + = 1; header ('Location: index.php'); Теперь на другой странице вы можете проверить значение переменной сеанса. – Harpreet

+0

У меня есть только контроль над 1 файлом, который можно объединить в 1 файл? – cton453

0

Да, вы можете. Вопрос в том, насколько постоянным вы его хотите.

JAVASCRIPT:

Если вы хотите сделать это с JavaScript, то посмотрите на window.location и вспомнить, был ли пользователь на первой странице просто использовать куки JavaScript. Простой учебник http://www.tutorialspoint.com/javascript/javascript_cookies.htm Вы также можете установить срок действия.

PHP:

Если вы хотите, чтобы сделать его «менее постоянным», например, только для одного открытого окна браузера или что-то в этом роде, то посмотрите на управление сеансами PHP http://php.net/manual/en/features.sessions.php

+0

спасибо, но это слишком сложно для новичков вроде меня: P – cton453

0

я написал код для index.php? re_id =

укажите re_id на каждой странице. п вы можете дать больше условий

+0

Я могу управлять только одним файлом, чтобы это все еще возможно? – cton453

+0

Если заголовок уже установлен из другого файла, мы можем установить еще один заголовок? в моем коде есть include ('main.php'); <== уже установленный заголовок – cton453

Смежные вопросы