ЗЕРКАЛО САЙТА (филиал)

  • Автор темы Автор темы russjura
  • Дата начала Дата начала

russjura

Новичок
ЗЕРКАЛО САЙТА (филиал)

Здравствуйте многоуважаемые коллеги. Обращаюсь к вам с такой вот проблемой. Есть сайт компании (Головной фирмы), есть сайт филиала компании.

Подскажите пожалуйста как можно сделать зеркало сайта на двух разных доменах, разных хостеров, но зеркалирование не полное, а частичное.

Вот код моего зеркала

PHP:
//------------------------------------------ ind 
$postdata = file_get_contents("http://www.zerkalo_host.ru/index.php"); 
//------------------------------------------ ind 

$trans = array ('Company'=>'Company Филиал №2' ); // замена     
$postdata_n=strtr($postdata, $trans); 


echo $postdata_n;  //итоговое зеркало

При этом также в полученном файле хотелось бы заменять ссылки и пути к картинкам, подскажите как это сделать? Насчет дополнительных вставок, касательно филиала я уже придумал, но как вот все пути к файлам из тега A и IMG, обрамленные как двойными, одинарными и без ковычек вовсе пока не представляю.

Есть вот такой вот код, но как его усовершенствовать под кавыйки увы не знаю, подскажите плиз.
PHP:
preg_match_all("|<a.*? href=(.*?) .*?>|s", $postdata , $matches);
 
Достаточно кривое решение.
А что представляет этот сайт? Статичные скрипты? Динамика? Базы данных и т.д.?
 
Сайт динамика + бд

-~{}~ 05.10.06 18:58:

По поводу кривизны... Подскажите лучшее.

Кого не спрашиваю, все отмалчиваются...
 
Завести оба сайта на одной физической машине. Пусть используют один код и базу, но разные конфиги и домены (и все что захочется сделать разным).
Вобщем нужно что-то вроде многосайтовой ЦМС.
Правда решение подходит только для новой разработки, а не для "прикручивания" старых друг к другу (хотя, смотря что там за код, а то может и прикручивать недолго будет).
 
все это в скором времени будет, а пока надо сделать зеркало.

помогите с preg_match плиз.. по поводу кавычек..
 
russjura
необязательно
к томуже так ты замениш все ссылки (в том числе и не с сайта)
str_replace('www1', 'www2', $content);
 
как заменять я уже знаю, спасибо, а вот как их быстро получить - увы проблема. Немного еще не освоился с регулярными выражениями.

Да и ссылки не все заменять надо, а выборочно, поэтому и надо получить сначала значения.. чтобы выполнять условия сначала, а потом замену.

-~{}~ 05.10.06 20:30:

Уважаемый tf! Кстати, ссылки везде относительные, но файлы к которым идет обращение, на сайте филлиала находиться пока не будут. Тег BASE - не предлагать! Не подходит для решения задачи.
 
russjura
Судя по твоим левым отмазкам, а именно:

>все это в скором времени будет, а пока надо сделать зеркало.

>Да и ссылки не все заменять надо, а выборочно

>но файлы к которым идет обращение, на сайте филлиала находиться пока не будут.

ты там пытаешся заняться самым обыкновенным Web spoofing'ом.
На месте модераторов я бы закрыл эту тему.
 
Люди, действительно нужно сделать зеркало. Других способов пока нету.


Это форум помощи? или болтовни??
 
Это форум помощи? или болтовни??
Просто ваши ответы наводят на мысль, что вы ищите совсем не то, о чем спрашиваете.
Заведите отдельную тему "как составить регэксп для такой ситуации". Иначе вопрос задан один, а ответ ожидается совсем другой.

-~{}~ 05.10.06 22:11:

а вот как их быстро получить
ваш же код:
$postdata = file_get_contents("http://www.zerkalo_host.ru/index.php");
и выше было предложение:
str_replace('http://www.host.ru', 'http://www.zerkalo_host.ru', $postdata);

P.S. не заметил фразы про относительные линки
 
nw
Спасибо, но видать, заводить тему бесполезно.

PHP:
 str_raplace
- не поможет, так как заменять нечего, а вот из ссылок в пустоту сделать ссылки работающими нужно. Сначала думал про мод_реврайт, но с ним очень туго.
 
russjura, приведи тут реальные адреса текстом обоих сайтом, мы посмотрим
странно а почему base тебе не подходит?
картинки откуда идти будут?
www.tarif-dimarket.ru почти клон www.dimarket.ru
и работает никто не жалуется
 
base не подходит потому, что документы которые на основном сайте выдаются генерирующим скриптом содержат одно, а то что должно на сайте филиала быть с видоизменениями, но генерировать это будет скрипт сайта филиала, на основании основного сайта.
 
hттp://logistika-zapad.ru
hттp://logistika-severozapad.ru

-~{}~ 05.10.06 22:23:

Воощем спасибо откликнувшимся... Всем удачи..
 
Автор оригинала: russjura
PHP:
preg_match_all("|<a.*? href=(.*?) .*?>|s", $postdata , $matches);
твой код только выдирает все ссылки
если ты тестируеш ругулярку, попробуй для начало
PHP:
preg_match_all("|<a [^>]*href=[\'\"]?([^\'\"\s]*)[\'\"]?[^>]*>|is", $content , $matches);
мне просто сейчас не совсем понятно что ты ищеш
 
конкретно искал как отсеч кавычки... [\'\"]

Все, спасибо. Сработало. А пути я ищу для предупреждения 404 ошибок на сайте филиала.

Все, тему можно закрывать. Всем спасибо.
 
russjura, да незачто
это было как бы тестовое решение, похорошему надо еще смотреть чтобы окрытая одинарная ковычка закрывалась одинарной ковычкой, тег не закрывался посередине <a href=url> и т.д., но впринципе этого
PHP:
preg_match_all("|<a [^>]*href=[\'\"]?([^\'\"\s[B]\>[/B]]*)[\'\"]?[^>]*>|is", $content , $matches);
должно хватить
 
Сразу напрашивается вопрос, может у кого есть? толковая документация с пояснениями по регуляркам?

Сколько мануалов ни встречал, все написано либо без примеров, либо настолько заумно, что не понятно что там и к чему? Уж больно часто вопросы по ним у меня стали возникать.

И еще, если у кого есть мысли как организовывать правильное зеркалирование сайта, поделитесь опытом плиз. Не скромничайте. Буду премного благодарен.
 
Сверху