webproxy и ЧПУ

Главную починим в конце...
Контент не отдает ибо вторая часть не работает (когда мы уже на субдомене), но первое правило работает нормально...
Итак, нужно понять отрабатывает ли этот htaccess, когда мы на субдомене, проверяем так (все удаляем, вставляем следующее) :
Скрытое содержимое доступно для зарегистрированных пользователей!

Если верхнее правило при вводе sub1.mysite.ru будет редиректить на главную (без субдомена), то всё будет гуд, если не будет редиректить, дела печальные...

Если редиректит - пробуем (оба правила правил, поэтому заменяем оба) :
Скрытое содержимое доступно для зарегистрированных пользователей!
 
Зачем делать сложнейшие регулярки для htaccess, если задачу можно решить для всех поддоменов с неограниченным уровнем вложенности директорий несколькими строчками php вставленными в начало файла проксификатора?



А в htaccess добавить редирект всего на этот файл:
Код:
RewriteEngine on
RewriteRule . index.php
 
Последнее редактирование:
Скрытое содержимое доступно для зарегистрированных пользователей!

редиректит на главную

Скрытое содержимое доступно для зарегистрированных пользователей!

редиректит на sub1.mysite.ru/vyazanie/krasnyj-vyazanyj-sharf-kryuchkom.html но контент не отдает
The requested URL /vyazanie/krasnyj-vyazanyj-sharf-kryuchkom.html was not found on this server.

Скрытое содержимое доступно для зарегистрированных пользователей!

не дает результата, точнее дает какой-то бесконечный цикл судя по логам:
Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.
Пока как-то так...
Вру :) добавление последнего кода не дает каких либо изменений... не заметила что надо заменить в preg_replace('~mysite.ru~', 'oldsite.ru', $host);
 
Последнее редактирование:
Вру :) добавление последнего кода не дает каких либо изменений... не заметила что надо заменить в preg_replace('~mysite.ru~', 'oldsite.ru', $host);

Я на своём хостинге тестировал - всё замечательно работает. На том самом первом скрипте Для просмотра ссылки Войди или Зарегистрируйся, с которым знаком с 2008 года :)
Укажите ссылку, где взяли свой скрипт - может там какая специфика.

И перед добавлением php кода убедитесь, что заменили htaccess на предложенный мною - это критичная часть :)
 
В .htaccess
RewriteEngine on
RewriteRule . index.php

Я вроде бы не блондинка, но какой результат должен быть виден после вставки представленного вами кода?

Давайте я еще раз опишу суть проблемы:
Есть сайт с проксификатором mysite.ru (да именно тот 2007 года выпуска :) ) в index.php просто указано $_url = 'rambler.ru' (к примеру :) данные которые будут в форме по умолчанию) а в index.inc.php
Код:
<script type="text/javascript">window.onload=function(){document.forms[0].submit()}</script>
который отправляет форму сразу после загрузки страницы. Да(!), возможно, это как удаление гланд через заднее отверстие, но без ковыряния и исправления кода вообще :)

В итоге при заходе на mysite.ru я вижу адрес
Код:
http://mysite.ru/index.php?q=http%3A%2F%2Fwww.rambler.ru%2F
(к примеру) но сам rambler.ru мне предположим и не интересен а интересны его поддомены news. и weather.
Всё что нужно на данный момент, это с помощью модреврайт избавиться от отображения домена донора, а его поддомен отображать как мой. Правильное отображение в частном случае работает, но не отображается контент :)
 
Похоже на то, что редирект сделать не так просто :)

Задание ...onload = submit, по идее, приведёт к постоянным релоадам страницы.

Тот способ, который я привёл, позволяет иметь полную копию любого сайта со всеми поддоменами на своём домене.
Кстати, если не стоит задача подменять контент на странице или что-то заменять, например юрлы сайта донора на свои, то по ресурсам гораздо экономичнее поднять прокси на nginx.

Вам удалось найти уникальный адресс rambler.ru, который имеет редиректы и тут мой способ оказался неэффективным вступив в борьбу с phppoxy :( На таком сайте как Для просмотра ссылки Войди или Зарегистрируйся всё сработало как и ожидалось.
 
Тот способ, который я привёл, позволяет иметь полную копию любого сайта со всеми поддоменами на своём домене.
Возьмем для примера nethouse_ru (заменим ('~mysite.ru~', 'nethouse.ru', $host);) получим отображения контент с nethouse_ru на домене mysite.ru. Но я не вижу как получить на своем домене например ekoshop_nethouse_ru в любом виде... Единственный видимый мною вариант это создавать на домене mysite.ru реально существующие поддомены (ekoshop, sub1, sub2 и т.д.) а потом прописывать:
('~ekoshop.mysite.ru~', 'ekoshop.nethouse.ru', $host);
('~sub1.mysite.ru~', 'sub1.nethouse.ru', $host);
('~sub2.mysite.ru~', 'sub2.nethouse.ru', $host);
.
.
.
('~subN.mysite.ru~', 'subN.nethouse.ru', $host);

Имеет ли такой вариант шансы на жизнь? Как изменится строка pregreplace?
 
Имеет ли такой вариант шансы на жизнь? Как изменится строка pregreplace?
Имеет, но лучше создать, так называемый wild card - вместо прописывания всех возможных сабдоменов ставится *.
Параметры передаваемые pregreplace менять не надо.
 
Скажите пожалуйста, а как в этом коде работает тильда?
Код:
preg_replace('~mysite.ru~', 'oldsite.ru', $host);
 
Как делимитер для регулярного выражения. Можно заменить и на другие символы, чаще всего указывают backslash.
После последней тильды можно добавить модификатор i, если есть шанс что домен может быть набран uppercase, типа MySitE.rU.
 
Назад
Сверху