webproxy и ЧПУ

Тема в разделе "Mod Rewrite / htaccess / ЧПУ", создана пользователем flint13, 24 апр 2014.

  1. flint13

    flint13 Создатель

    Регистр.:
    15 апр 2014
    Сообщения:
    10
    Симпатии:
    0
    Приветствую всех!
    Есть VDS, есть домен mysite.ru с установленным webproxy.
    webproxy настроен так что через него всегда отдается один единственный домен донор oldsite.ru и его поддомены (существуют только поддомены 3 уровня sub1.oldsite.ru sub3.oldsite.ru sub4.oldsite.ru)
    Соответственно webproxy выдает такие адреса:
    Нужен набор правил для htaccess для отображения таких адресов в виде:
    То-есть нужно:
    - отключить отображение части адреса
    - избавиться от %3A%2F%2F и %2F
    - поддомены сайта донора представлять поддоменами моего сайта



    PS прошу не наседать с вопросами "зачем тебе это?" и возгласами "бохнакажет! бохнакажеееет!"

    Я Верю В Силу Nulled.cc!
     
    Последнее редактирование: 25 апр 2014
  2. UJy

    UJy

    Регистр.:
    23 авг 2011
    Сообщения:
    338
    Симпатии:
    121
    Скажи - страница открывается и так
    http://mysite.ru/index.php?q=http%3A%2F%2Fsub1.oldsite.ru%2Fvyazanie%2Fnoski.html
    и так
    http://mysite.ru/index.php?q=http://sub1.oldsite.ru/vyazanie/noski.html
    и так
    http://sub1.mysite.ru/vyazanie/noski.html
    ?

    Или открывается только первый вариант и его нужно свести к третьему, но так, что б он ещё и работал?
    PS: задачка, как по мне, вполне решабельна...
     
  3. flint13

    flint13 Создатель

    Регистр.:
    15 апр 2014
    Сообщения:
    10
    Симпатии:
    0
    2 UJy
    Работает только первый вариант
    Реальных директорий не существует, все обрабатывает и выдает скрипт index.php
    Слэши вместо %2 не воспринимаются.
    Да я в курсе что решабельно - только у меня с модреврайтом дела плохи :)
    Сейчас в htaccess единственная строчка отключающая magic_quotes.
     
  4. UJy

    UJy

    Регистр.:
    23 авг 2011
    Сообщения:
    338
    Симпатии:
    121
    Такс, давай попробуем такую конструкцию...


    Условия для работы:
    1)работать будет только если сайт доступен без www (если доступны обе версии сайта тем же htaccess нужно поставить переадрессацию с www на безwww)
    2) работает при условии, что sub1.oldsite.ru не меняется и известен (из первого поста понял, что subХ меняется, что б работал на разных сабах - нужно чуть чуть коверкать URL, например будет не http://sub1.mysite.ru/vyazanie/noski.html , а http://sub1.mysite.ru/vyazanie/noski1.html - тоесть нужно будет куда-то в урл спрятать номер саба...)
     
    Последнее редактирование: 25 апр 2014
  5. flint13

    flint13 Создатель

    Регистр.:
    15 апр 2014
    Сообщения:
    10
    Симпатии:
    0
    1) донор sub1.oldsite.ru доступен без www (с www идет редирект на без www автоматом)
    2) sub1, sub3, sub3, очень много и можно считать что они неизвестны, вариант http://sub1.mysite.ru/vyazanie/noski1.html вполне подойдет. Но я так понимаю нужно допилить :)

    И еще возможны варианты кроме категорий типа /vyazanie/ могут быть под-категории например /vyazanie/kryuchkom/ или даже под-под-категории /vyazanie/kryuchkom/vslepuyu/
     
  6. UJy

    UJy

    Регистр.:
    23 авг 2011
    Сообщения:
    338
    Симпатии:
    121
    Насколько я понял из этой фразы - слово "sub" может быть *любым_словом* ? В таком случае нужно серьёзно допиливать...При том нужно будет на сервере тестить, можно ли в данном htaccess обратиться к этому поддомену и работать с ним, я такого не делал, нужно пробовать...

    Какое максимальное количество подкатегорий может быть? Нужно вменяемое число для построения нормального велосипеда :)
     
    Последнее редактирование: 25 апр 2014
  7. flint13

    flint13 Создатель

    Регистр.:
    15 апр 2014
    Сообщения:
    10
    Симпатии:
    0
    "sub" может быть любым набором латинских букв, цифр и "-", в общем все то что разрешается для доменов.
    Я редко встречаю страницы более чем 4 УВ (хотя попадаются и "месье знающие толк в извращениях"), следовательно mysite.ru/cat/cat/cat/cat/noski.html будет более чем :)

    Я с удовольствием потестила бы :)

    Возможно, более легким путем, будет всё-таки выяснить перечень всех существующих поддоменов у домена oldsite.ru и на основании этого списка написать правила замены? (предположим что этот перечень существует и это поддомены abc def ghi klm) Другое дело, что поддоменов может быть несколько тысяч и от этого существенно распухнет сам файл htaccess...
     
    Последнее редактирование: 25 апр 2014
  8. flint13

    flint13 Создатель

    Регистр.:
    15 апр 2014
    Сообщения:
    10
    Симпатии:
    0

    Не дает видимого результата.

    При запросе http://sub1.mysite.ru/vyazanie/noski.html
    The requested URL /vyazanie/noski.html was not found on this server.

    При запросе http://mysite.ru/index.php?q=http://sub1.oldsite.ru/vyazanie/noski.html
    адрес остается неизменным.

    После изменения [a-z0-9] на [A-Za-z0-9-] (в именах категорий и файлов попадаются "-") адреса стали иметь вид:
    http://sub1.mysite.ru/vyazanie/noski.html?q=http%3A%2F%2Fsub1.oldsite.ru%2Fvyazanie%2Fnoski.html
    но содержимое страницы не отдается.
    А главная отдается но с адресом http://mysite.ru/index.php?q=http://sub1.oldsite.ru
     
  9. UJy

    UJy

    Регистр.:
    23 авг 2011
    Сообщения:
    338
    Симпатии:
    121
    В первом случае адрес такой http://sub1.mysite.ru/vyazanie/noski.html?q=http%3A%2F%2Fsub1.oldsite.ru%2Fvyazanie%2Fnoski.html
    ибо в правиле не хватает одного символа:

    Напиши, что теперь отдается. В разных вариациях, сегодня вечерком подумаю над решением...
    Ясно, понятно.
    Не совсем лёгкий, потестил на своем сервере - можно будет его поймать без перечисления...
     
  10. flint13

    flint13 Создатель

    Регистр.:
    15 апр 2014
    Сообщения:
    10
    Симпатии:
    0
    Теперь:
    При запросе http://sub1.mysite.ru/vyazanie/noski.html
    The requested URL /vyazanie/noski.html was not found on this server.

    При запросе http://mysite.ru/index.php?q=http://sub1.oldsite.ru/vyazanie/noski.html
    отдает 404 ошибку

    При запросе http://mysite.ru/index.php?q=http://sub1.oldsite.ru/vyazanie/noski.html (здесь вместо слэшей %2F, движек форумный меняет :) )
    редиректит на sub1.mysite.ru/vyazanie/noski.html но контент не отдает

    А главная по прежнему отдается только с адресом http://mysite.ru/index.php?q=http://sub1.oldsite.ru (здесь вместо слэшей %2F)
    при запросе sub1.mysite.ru/ выдает "The requested URL / was not found on this server."