За последние 24 часа нас посетили 74788 программистов и 10149 роботов. Сейчас ищут 2153 программиста ...

Нужна небольшая помощь в доработке скрипта редиректа

Тема в разделе "PHP для новичков", создана пользователем etoya, 21 мар 2017.

  1. etoya

    etoya Новичок

    С нами с:
    21 мар 2017
    Сообщения:
    2
    Симпатии:
    0
    Уважаемые форумчане, очень надеюсь на вашу помощь.

    Есть такая конструкция для редиректа ссылок вида http://site1.ru/pages/get/site2.ru

    linkslist.php
    PHP:
    1. <?php
    2. $linksList = array(
    3.     'page1.html' => 'http://google.com',
    4.     'page2.html' => 'http://google.ru'
    5. );
    6. ?>
    redirect.php
    PHP:
    1. <?php
    2. require_once('linkslist.php');
    3. $request = $_SERVER['REQUEST_URI'];
    4. $dest = explode('/', $request);
    5. $newUrlKey = end($dest);
    6. if (array_key_exists($newUrlKey, $linksList)) {
    7.     header('Location:'.$linksList[$newUrlKey]);
    8. }
    9. else {
    10.     header('Location:http://site1.ru');
    11. }
    12. ?>
    .htaccess
    Код (Text):
    1. Options +FollowSymlinks
    2. RewriteEngine On
    3. RewriteRule ^get/(.+) /pages/redirect.php/$1 [L]
    Вопрос следующий: если linkslist.php отсутствует совпадение, то скрипт возвращает site1.ru, что нужно написать в redirect.php вместо
    PHP:
    1. else {
    2.     header('Location:http://site1.ru');
    3. }
    чтобы возвращало site2.ru?
     
  2. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.151
    Симпатии:
    108
    Адрес:
    Украина
    Чёт не понятно. Ну если надо чтоб возвращало site2.ru вместо site1.ru, может, (Я, конечно, не утверждаю) стоит всё таки поменять site1.ru на site2.ru?? Хотя это, конечно, только моё предположение..
     
  3. etoya

    etoya Новичок

    С нами с:
    21 мар 2017
    Сообщения:
    2
    Симпатии:
    0
    Забыл упомянуть, что site2.ru это грубо говоря рандомное знаение, т.е. любая ссылка, которая подставлена в конструкцию site1.ru/pages/get/site2.ru.
    К примеру создав ссылку site1.ru/pages/get/php.ru переход должен осуществляться на php.ru, если в linkslist.php не нашлось условия редиректа на другой сайт или страницу.
     
  4. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.151
    Симпатии:
    108
    Адрес:
    Украина
    PHP:
    1. if (array_key_exists ('php.ru', $linksList)) {
    2.     header ('location: '$linksList['php.ru']);
    3.     die ();
    4. }
    Вместо php.ru, естественно, переменная.
     
  5. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.843
    Симпатии:
    1.338
    Адрес:
    Лень
    напиши в header site2 :D