Как сделать умный редирект на JS?

Тема в разделе "Как сделать...", создана пользователем spiderbuber, 4 апр 2012.

  1. spiderbuber

    spiderbuber

    Заблокирован
    Регистр.:
    20 июл 2009
    Сообщения:
    237
    Симпатии:
    61
    Дано 2 страницы: index.html и out.html
    В index.html имеется куча ссылок с разным рефом, например <a href="out.html?ref=1">
    Что воткнуть в out.html, чтобы в зависимости от рефа редиректить на разные урлы?

    Или так, идут ссылки на несуществующие страницы <a href="no_page1.html">
    Как наладить соответствие ссылок и редиректа на разные урлы?
     
  2. dino

    dino

    Регистр.:
    28 май 2009
    Сообщения:
    550
    Симпатии:
    204
    массив соответствия ref необходимым файлам и обработав его послать куда нужно... например по первому варианту, без каких либо проверок на соответствие тапам переменных, наличию их и т.д.:
    PHP:
    <?php
    $link_array
    =array(1=>"file1.php"2=>"file2.html"3=>"file3.php");
    $link=$link_array[$_GET['ref']];
    ?>
    <script type="text/javascript">
    window.location.href='<?php echo $link?>';
    </script>
     
  3. spiderbuber

    spiderbuber

    Заблокирован
    Регистр.:
    20 июл 2009
    Сообщения:
    237
    Симпатии:
    61
    dino, php не подойдет, нужен именно JS

    Сделал проще, ч\з - .htaccess
    PHP:
    RewriteEngine on
    Redirect 301 
    /link1http://ya.ru
    Redirect 301 /link2http://google.ru
    Но также интересует первый вариант, чтобы был клик на другую страницу, а с неё уже "нужный" редирект.
     
  4. SimonSmith

    SimonSmith Постоялец

    Регистр.:
    25 сен 2008
    Сообщения:
    148
    Симпатии:
    33
    HTML:
    <script type="text/javascript">
     
        get = window.location.search;
        var g = new Array();
        var links = new Array('file1.html','file2.html')
      //var links = {1:'file1.html',2:'file2.html'};
        g = get.split('=');
        if (links[g[1]]!==undefined)
        window.location = links[g[1]];
     
    </script>