Jump to content
  • 0

Редирект и счетчик


Марат
 Share

Question

Здравствуйте!

 

Хочу настроить редирект с одной страницы сайта на другую страницу с помощью файла 'redirect.php':

 

<?php $URL="";
header("Location:$URL");
exit();
?>
 
1. Могу ли я сделать с помощью одного файла 'redirect.php' несколько редиректов (с нескольких страниц на другие страницы) ?
 
2. Как я могу посчитать количество редиректов (можно в простой текст. файл) ?
 
Спасибо большое?
Link to comment
Share on other sites

22 answers to this question

Recommended Posts

  • 0

1. можно, перенаправлять все запросы с нужных страниц на ваш php файл, а в нем разруливать куда редиректнуть.

2. при каждом редиректе можно записывать данные в файл, или в бд

 

что-то типо :

if($num = (int) file_get_contents('/mypath/myfile.txt')){    file_put_contents('/mypath/myfile.txt', ++$num);}
Link to comment
Share on other sites

  • 0

1. Я так понял нужно сделать ссылку на 'redirect.php' вот такого вида: <a href="redirect.php#1"> а в 'redirect.php' указывать перед строкой переадресации <a name="1">. Так?

 

2. Не много не понял. Куда эту функцию вставлять?


 

1. можно, перенаправлять все запросы с нужных страниц на ваш php файл, а в нем разруливать куда редиректнуть.

2. при каждом редиректе можно записывать данные в файл, или в бд

 

что-то типо :

if($num = (int) file_get_contents('/mypath/myfile.txt')){    file_put_contents('/mypath/myfile.txt', ++$num);}

1. Я так понял нужно сделать ссылку на 'redirect.php' вот такого вида: <a href="redirect.php#1"а в 'redirect.php' указывать перед строкой переадресации <a name="1">. Так?

 

2. Не много не понял. Куда эту функцию вставлять?

Link to comment
Share on other sites

  • 0

1) какое должно быть условие редиректа с одной страницы на другую? просто вход на страницу, или какое-то условие?

2) как сказали выше, редиректить со всех страниц на redirect.php, а в нем можно составлять условия редиректа с помощью того же суперглобального массива: $_SERVER['HTTP_REFERER'].

3) если редирект прошел успешно, то записывать в файл несколько значений:

  а) страница реферал - откуда редирект.

  б) страница конечный пункт назначения редиректа.

  в) кол-во выполненных редиректов для этих двух парных страниц.

Link to comment
Share on other sites

  • 0

1) какое должно быть условие редиректа с одной страницы на другую? просто вход на страницу, или какое-то условие?

2) как сказали выше, редиректить со всех страниц на redirect.php, а в нем можно составлять условия редиректа с помощью того же суперглобального массива: $_SERVER['HTTP_REFERER'].

3) если редирект прошел успешно, то записывать в файл несколько значений:

  а) страница реферал - откуда редирект.

  б) страница конечный пункт назначения редиректа.

  в) кол-во выполненных редиректов для этих двух парных страниц.

 

1. Никаких условий, просто вход на страницу

 

2. как сказал я выше могу я использовать конструкцию вида:

    ссылку на 'redirect.php' вот такого вида: <a href="redirect.php#1">, <a href="redirect.php#2"> и т.д, а в 'redirect.php' указывать перед    строкой переадресации <a name="1">, <a name="2"> и т.д. ?

 

3. Каким образом это реализовать? Как написать?

Link to comment
Share on other sites

  • 0

я лично ничего не понял, раскройте суть подробнее.

что должно происходить при клике на ссылку <a href="redirect.php#1"> ? к тому же не думаю что якорь (#) даст вам желаемый результат.

Link to comment
Share on other sites

  • 0

я лично ничего не понял, раскройте суть подробнее.

что должно происходить при клике на ссылку <a href="redirect.php#1"> ? к тому же не думаю что якорь (#) даст вам желаемый результат.

Я не знаю PHP, я знаю что в HTML это работает. Поэтому и спрашиваю будет ли это работать и в PHP ? Если нет скажите как это сделать? Лучше кодом.

 

Там откуда хочешь перенаправить пишешь

<a href='redirect.php'>Link text</a>

В файле redirect.php пишешь такой вот недоразвитый роутер

switch($_SERVER['HTTP_REFERER']){    case "откуда":       header('Location:куда');    ...}

 

Вот такой ответ мне понятен!

 

Теперь мне надо сделать подсчет кол-ва редиректов (Сколько чел. кликнули на данные ссылки) (можно и в обычный текст. файл). Как это реализовать?

Link to comment
Share on other sites

  • 0

infidel, ага :) только вот как ваша конструкция определит откуда и куда перенаправлять?

Я не знаю PHP, я знаю что в HTML это работает. Поэтому и спрашиваю будет ли это работать и в PHP ? Если нет скажите как это сделать? Лучше кодом.

я не жадный, но кодом помогать не буду, пока не увижу ваше личное желание (код) сделать. :)

Link to comment
Share on other sites

  • 0

Короче, друзья, я готовлю видеокурс по резервному копированию, где в оболочке от курса стоят ссылки на мой блог. Я хочу знать сколько человек перешло с оболочки курса на мой блог. (ссылок будет несколько, на разные страницы блога).

kurs.jpg

Link to comment
Share on other sites

  • 0

infidel, ага :) только вот как ваша конструкция определит откуда и куда перенаправлять?

 

 

Я не знаю PHP, я знаю что в HTML это работает. Поэтому и спрашиваю будет ли это работать и в PHP ? Если нет скажите как это сделать? Лучше кодом.

я не жадный, но кодом помогать не буду, пока не увижу ваше личное желание (код) сделать. :)

Ну так вместо "откуда" и "куда" в моем примере тс указывает урлы которые ему должны быть известны.

Edited by infidel
Link to comment
Share on other sites

  • 0

infidel, ага :) только вот как ваша конструкция определит откуда и куда перенаправлять?

 

 

Я не знаю PHP, я знаю что в HTML это работает. Поэтому и спрашиваю будет ли это работать и в PHP ? Если нет скажите как это сделать? Лучше кодом.

я не жадный, но кодом помогать не буду, пока не увижу ваше личное желание (код) сделать. :)

 

 у меня есть желание сделать код, только мне нужна ваша помощь. Желание изучать PHP с нуля нет желания... Видеокурс я создал, причем он будет бесплатным. Если я еще буду PHP изучать что бы реализовать задуманное, придется подождать с выходом курса еще год-два. :)

Link to comment
Share on other sites

  • 0

я так понимаю что курс будет в формате .exe или видео? т.е. не на сайте? что есть оболочка?

 

В формате Autorun (AutoPlay Media Studio), на файлообменнике, в оболочке. http://i.imgur.com/58wrrgA.jpg

Link to comment
Share on other sites

  • 0

 

Теперь мне надо сделать подсчет кол-ва редиректов (Сколько чел. кликнули на данные ссылки) (можно и в обычный текст. файл). Как это реализовать?

switch($_SERVER['HTTP_REFERER']){    case "откуда":       file_put_contents('чето_чтобы_понять_откуда_и_куда.txt', file_get_contents('чето_чтобы_понять_откуда_и_куда.txt')+1);       header('Location:куда');    ...}

Код я не тестил, но по идее такая вот хрень должна работать.

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

PS: Это далеко не лучшее решение из возможных, зато бесплатно, и php учить не надо.

Edited by infidel
Link to comment
Share on other sites

  • 0

 

 

Теперь мне надо сделать подсчет кол-ва редиректов (Сколько чел. кликнули на данные ссылки) (можно и в обычный текст. файл). Как это реализовать?

switch($_SERVER['HTTP_REFERER']){    case "откуда":       file_put_contents('чето_чтобы_понять_откуда_и_куда.txt', file_get_contents('чето_чтобы_понять_откуда_и_куда.txt')+1);       header('Location:куда');    ...}

Код я не тестил, но по идее такая вот хрень должна работать.

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

PS: Это далеко не лучшее решение из возможных, зато бесплатно, и php учить не надо.

 

 

Спасибо, только что я должен указать в case "откуда": ?

Link to comment
Share on other sites

  • 0

В общем я накидал код, проверьте пожалуйста, правильно ли все и будет ли он вообще работать?

 

Там откуда хочу перенаправить, пишу:
 
<a href='redirect.php'>Link free-pc</a>
<a href='redirect.php'>Link podpiska</a>
 
В файле redirect.php пишу:
 
<?php
 
$file_1 = 'free-pc.txt';
$file_2 = 'podpiska.txt';

switch($_SERVER['HTTP_REFERER'])
 {
  
case "free-pc":
    file_put_contents($file_1, file_get_contents($file_1)+1, LOCK_EX);
    header('Location:http://free-pc.ru/');
 
 case "podpiska":
    file_put_contents($file_2, file_get_contents($file_2)+1, LOCK_EX);
    header('Location:http://free-pc.ru/podpiska/');

 ...
 
 }
 
exit();
?>
Link to comment
Share on other sites

  • 0

<a href="http://wp.test/test.php?from=podpiska">Подписка<a/>

<a href="http://wp.test/test.php?from=freepc">Наш сайт<a/>

 

switch($_GET['from']){

case 'freepc':

file_put_contents('freepc.txt', file_get_contents('freepc.txt')+1);

header('Location:http://free-pc.ru/');

break;

case 'podpiska':

file_put_contents('podpiska.txt', file_get_contents('podpiska.txt')+1);

header('Location:http://free-pc.ru/podpiska/');

}

Edited by infidel
Link to comment
Share on other sites

  • 0
<a href="http://wp.test/test.php?from=podpiska">Подписка<a/><a href="http://wp.test/test.php?from=freepc">Наш сайт<a/>
 
switch($_GET['from']){    case 'freepc':        file_put_contents('freepc.txt', file_get_contents('freepc.txt')+1);        header('Location:http://free-pc.ru/');        break;    case 'podpiska':        file_put_contents('podpiska.txt', file_get_contents('podpiska.txt')+1);        header('Location:http://free-pc.ru/podpiska/');}

 

 

Спасибо! А нельзя писать все в один файл? Просто ссылок всего будет около 10. Не хотелось бы плодить много файлов, а всю статистику посмотреть в одном файле...

Link to comment
Share on other sites

  • 0

 

<a href="http://wp.test/test.php?from=podpiska">Подписка<a/><a href="http://wp.test/test.php?from=freepc">Наш сайт<a/>
 
switch($_GET['from']){    case 'freepc':        file_put_contents('freepc.txt', file_get_contents('freepc.txt')+1);        header('Location:http://free-pc.ru/');        break;    case 'podpiska':        file_put_contents('podpiska.txt', file_get_contents('podpiska.txt')+1);        header('Location:http://free-pc.ru/podpiska/');}

 

 

Спасибо! А нельзя писать все в один файл? Просто ссылок всего будет около 10. Не хотелось бы плодить много файлов, а всю статистику посмотреть в одном файле...

 

 

Можно конечно. Можно еще удобнее даже - писать в базу, выводить стату аккуратной табличкой, сделать возможность удаления и добавления условий редиректа через интерфейс и многое многое другое) 

Link to comment
Share on other sites

  • 0

 

 

<a href="http://wp.test/test.php?from=podpiska">Подписка<a/><a href="http://wp.test/test.php?from=freepc">Наш сайт<a/>
 
switch($_GET['from']){    case 'freepc':        file_put_contents('freepc.txt', file_get_contents('freepc.txt')+1);        header('Location:http://free-pc.ru/');        break;    case 'podpiska':        file_put_contents('podpiska.txt', file_get_contents('podpiska.txt')+1);        header('Location:http://free-pc.ru/podpiska/');}

 

 

Спасибо! А нельзя писать все в один файл? Просто ссылок всего будет около 10. Не хотелось бы плодить много файлов, а всю статистику посмотреть в одном файле...

 

 

Можно конечно. Можно еще удобнее даже - писать в базу, выводить стату аккуратной табличкой, сделать возможность удаления и добавления условий редиректа через интерфейс и многое многое другое) 

 

 

Понятно, что как вы сказали с записью в базу и т.д. мне такой код написать никто не поможет :). А вот конструкцию попроще, с записью в один текстовый файл я думаю код мне подскажут. Я думаю для вас это не составит большого труда :) Буду премного благодарен!

Link to comment
Share on other sites

  • 0

Вы правильно меня поняли, но сделали неправильные выводы. Вы потратите больше времени на поиски "дурака" который будет бесплатно писать вам код, нежели на изучение основ языка. А изучив основы вы уже сможете задавать осмысленные вопросы на которые вам будут отвечать с куда большей охотой на любом форуме. Это если вас устраивает только бесплатный вариант, в противном случае нет ничего проще чем создать заказ на фрилансе и подобную задачу вам решат за какие-нибудь 10-50 баксов, быстро, а если повезет то еще и качественно. Я вам код больше писать не буду, смотрите в то что уже есть думайте что надо добавить, пользуйтесь гуглом, и если в следствие попыток у вас возникнут вопросы, смело пишите на форум. Ну или продолжайте искать благотворительности, решать вам)

Link to comment
Share on other sites

  • 0

Вы правильно меня поняли, но сделали неправильные выводы. Вы потратите больше времени на поиски "дурака" который будет бесплатно писать вам код, нежели на изучение основ языка. А изучив основы вы уже сможете задавать осмысленные вопросы на которые вам будут отвечать с куда большей охотой на любом форуме. Это если вас устраивает только бесплатный вариант, в противном случае нет ничего проще чем создать заказ на фрилансе и подобную задачу вам решат за какие-нибудь 10-50 баксов, быстро, а если повезет то еще и качественно. Я вам код больше писать не буду, смотрите в то что уже есть думайте что надо добавить, пользуйтесь гуглом, и если в следствие попыток у вас возникнут вопросы, смело пишите на форум. Ну или продолжайте искать благотворительности, решать вам)

 

Я ожидал такой ответ от Вас, благотворительности я не ищу, не хотите, не помогайте, дело Ваше...

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Similar Content

    • By Pomojenko
      Буду благодарен в помощи, облазил весь интернет ничего не нашел, информацию могу оплатить, в долгу не останусь
       
      Есть сайт www.sait-x.com который нужно отобразить по средствам iframe в сайте www.sait-y.com
      для сайта www.sait-y.com, index.html :
      <html>
      <body style=margin:0px; padding: opx;">
      <iframe src="www.sait-x.com" frameborder="0" scrolling="yes" height="100%" width="100%">
      </iframe>
      </body>
      </html>
       
      Подскажите пожалуйста, очень важно, можно ли сделать на определенную страницу редирект? пример www.sait-x.com отображается полностью в www.sait-y.com а вот страница - www.sait-x.com/new в сайте будет перенаправлена допустим на страницу www.sait-y.com/new1 Или невозможно путем iframe такое выполнить?
    • By M4TT
      Добрый день! помогите пожалуйста со скриптом таймера(счетчика) тип времени работы компании. Требуют, чтобы было с годом, месяцем, днем, часами и т.д. Прошарил все сайты, не могу найти --  сделать, чтобы он он шел вперед... ПРИМЕР: "мы на рынке уже: 7 лет, 2 месяца, 3 дня, 4 часа, 2 минуты, 33 секунды"

      Напишите код, если не тяжело... Спасибо.
    • By VeniVidiVici
      Убираю расширение .php страницы таким кодом:
      RewriteRule ^([^.?]+)$ %{REQUEST_URI}.php [L] Url отображается нормально без .php - www.site.ru/example
      но если напрямую прописать в url название страницы с расширением .php то отображается url вида -   www.ysite.ru/example.php 
      Как это исправить? думаю прописать редирект вручную для каждой страницы(о_О), типа:
      Redirect 301 /example.php www.site.ru/example но может, есть более универсальное решение?
    • By qooi
      Готовый код счетчика посещений на javascript.
      По функционалу ничем не уступает стандартным счетчикам типа мэил и лайвинтернет.
      Сайт не грузит за счет статических файлов, работает на js.
      Подробная статистика по ip, browser, времени.
      Подробный график посещаемости.
       
      Для установки достаточно поместить обычный html код на сайт без регистрации.
       


      <div id="qooi-counter">
      <a href="http://qooi.ru/" title="Бесплатный счетчик посещений на сайт">
      <img src="http://qooi.ru/counter/standard/009.png" alt="Счетчик посещаемости и статистика сайта">
      <div id="qooi-counter-visits"></div>
      <div id="qooi-counter-views"></div>
      </a>
      </div>
      <script type="text/javascript" src="http://qooi.ru/counter.js"></script>

       
      Пример онлайн
      http://plnkr.co/edit/lwpcUqhQQIYIJiZsRoZj?p=preview
       
       
      Так как счетчик не привязан к картинке, вы всегда можете заменить картинку на свою или вовсе ее удалить.
       

       


      <div id="qooi-counter">
      <a style="display:none;" href="http://qooi.ru/" title="Бесплатный счетчик посещений на сайт">
      <img src="http://qooi.ru/counter/standard/009.png" alt="Счетчик посещаемости и статистика сайта">
      </a>
      Визиты: <div id="qooi-counter-visits"></div>
      Просмотры: <div id="qooi-counter-views"></div>
      </div>
      <script type="text/javascript" src="http://qooi.ru/counter.js"></script>

       
      Пример онлайн
      http://plnkr.co/edit/oTZyxeXKEnaXQcNuQCtW?p=preview
       
      Выбрать счетчик можно на сайте
      http://qooi.ru/counter/
       
    • By horprogs
      Всем привет!
      Есть страница на php, например about.php. Сервер (nginx) настроен так, что при несуществующей странице идет перенаправление на index. То есть, если ввести xxx.ru/about идет перенапрвление на индекс, типа страницы не существует. Так вот вопрос: как сделать обработку так, чтобы происходил редирект с xxx.ru/about на xxx.ru/about.php.
      Сисадмины говорят, что такая обработка происходит не со стороны сервера.
      То есть мне что то нужно прописать в индекс, как я понимаю. 
      $_SERVER["HTTP_REFERER"]; и $_SERVER["REQUEST_URI"]; использовать не получается, т.к. определяют только путь с расширением
  • Обсуждения

    • Всем спс сам розобрался.
    • Вот хороший пример "Рандомайзер слов из списка". Тут вместо дивов с картинками инпуты, но сути дела не меняет. Кроме того работает с разным кразмером списка (код универсальный). Если в сорсе код найдешь увидишь как работает — там 3 строчки с тем же Math.random. Если будут трудности пиши тут, я оповещение увижу кину тебе код оттуда + объясню шо как. Вообще прикольно так можешь посмотреть другие страницы на сайте, потренироваться с js (для начала как раз пойдет).   Ну я вовремя конечно 
    • Пытаюсь динамически сформировать группу элементов <input type="checkbox"> Элементы создаются, но не получается задать им надпись, хотя раньше, создавая их вручную в HTML, всё получалось..   vk-groups-3.html vk-groups-1.html наладил.. vk-groups-3.html
    • Вы отучились на бухгалтера или программиста? Почему спрашиваю. Я финансист, бухгалтер. Естественно, в свое время отучился на курсах 1С, но как экономист. Поэтому могу помочь с развитием именно в этом направлении, так как опыт огромный. 
    • Всем привет.Не так давно начал изучать верстку.И кароче захотел создать слайдер на основе html css без js. Застрял булеты работают и стрелки также но только стрелки становяться видимы когда первый раз нажал на булет.До этого их никак немогу настроить.   <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8">     <meta http-equiv="X-UA-Compatible" content="IE=edge">     <meta name="viewport" content="width=device-width, initial-scale=1.0">     <title>Document</title>     <style>         .wrapper{             width: 700px;             height: 400px;             margin:0 auto;             border:5px solid green;             border-radius: 20px;             overflow: hidden;             position: relative;         }         .container{             width: 600px;             height: 300px;             border: 5px solid green;             border-radius: 20px;             margin: 20px auto;         }         .slider__items{             display: none;         }         .bullets{             display: flex;             position: absolute;             left:100px;             bottom:30px;         }         .bullets__items{             width: 50px;             height: 15px;             border:2px solid green;             border-radius: 20px;             background-color: lightgreen;             margin: 0 20px;         }             .images{             display: flex;         }         .images__items{             width: 600px;             height: 300px;             border-radius: 20px;             margin-right: 55px;         }               .arrows__prev{             background-image: url(./img/next.png);             background-size: contain;             width: 40px;             height: 40px;             position: absolute;             top:150px;             left: 2px;         }         #slide1:checked ~ .images .image1{             margin-left: 0;         }         #slide2:checked ~ .images .image2{             margin-left: -655px;         }         #slide3:checked ~ .images .image3{             margin-left: -1310px;         }         #slide4:checked ~ .images .image4{             margin-left: -1965px;         }         #slide5:checked ~ .images .image5{             margin-left: -2620px;         }         #slide1:checked ~ .arrow__next .img2,         #slide2:checked ~ .arrow__next .img3,         #slide3:checked ~ .arrow__next .img4,         #slide4:checked ~ .arrow__next .img5,         #slide5:checked ~ .arrow__next .img1{             display: block;             background-image: url(./img/next.png);             background-size: contain;             width: 40px;             height: 40px;             position: absolute;             top:150px;             right: 2px;                 }         #slide1:checked ~ .arrow__prev .img5,         #slide2:checked ~ .arrow__prev .img1,         #slide3:checked ~ .arrow__prev .img2,         #slide4:checked ~ .arrow__prev .img3,         #slide5:checked ~ .arrow__prev .img4         {             display: block;             background-image: url(./img/prev.png);             background-size: contain;             width: 40px;             height: 40px;             position: absolute;             top:150px;             left: 2px;                 }     </style> </head> <body>     <div class="wrapper">         <div class="container">             <div class="slider">                 <input type="radio" name="slider" class="slider__items" id="slide1">                 <input type="radio" name="slider" class="slider__items" id="slide2">                 <input type="radio" name="slider" class="slider__items" id="slide3">                 <input type="radio" name="slider" class="slider__items" id="slide4">                 <input type="radio" name="slider" class="slider__items" id="slide5">                                 <div class="bullets">                     <label for="slide1" class="bullets__items"></label>                     <label for="slide2" class="bullets__items"></label>                     <label for="slide3" class="bullets__items"></label>                     <label for="slide4" class="bullets__items"></label>                     <label for="slide5" class="bullets__items"></label>                 </div>                 <div class="arrow__next">                     <label for="slide1" class="arrows__item img1"></label>                     <label for="slide2" class="arrows__item img2"></label>                     <label for="slide3" class="arrows__item img3"></label>                     <label for="slide4" class="arrows__item img4"></label>                     <label for="slide5" class="arrows__item img5"></label>                 </div>                 <div class="arrow__prev">                     <label for="slide1" class="arrows__item img1"></label>                     <label for="slide2" class="arrows__item img2"></label>                     <label for="slide3" class="arrows__item img3"></label>                     <label for="slide4" class="arrows__item img4"></label>                     <label for="slide5" class="arrows__item img5"></label>                 </div>                 <div class="images">                     <img src="./img/1.jpg" alt="" class="images__items image1">                     <img src="./img/2.jpg" alt="" class="images__items image2">                     <img src="./img/3.jpg" alt="" class="images__items image3">                     <img src="./img/4.jpg" alt="" class="images__items image4">                     <img src="./img/5.jpg" alt="" class="images__items image5">                 </div>             </div>         </div>     </div> </body> </html>
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy