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

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);
 

Кром

Новичок
Достаточно кривое решение.
А что представляет этот сайт? Статичные скрипты? Динамика? Базы данных и т.д.?
 

russjura

Новичок
Сайт динамика + бд

-~{}~ 05.10.06 18:58:

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

Кого не спрашиваю, все отмалчиваются...
 

nw

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

russjura

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

помогите с preg_match плиз.. по поводу кавычек..
 

tf

крылья рулят
russjura
необязательно
к томуже так ты замениш все ссылки (в том числе и не с сайта)
str_replace('www1', 'www2', $content);
 

russjura

Новичок
как заменять я уже знаю, спасибо, а вот как их быстро получить - увы проблема. Немного еще не освоился с регулярными выражениями.

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

-~{}~ 05.10.06 20:30:

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

Кром

Новичок
russjura
Судя по твоим левым отмазкам, а именно:

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

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

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

ты там пытаешся заняться самым обыкновенным Web spoofing'ом.
На месте модераторов я бы закрыл эту тему.
 

russjura

Новичок
Люди, действительно нужно сделать зеркало. Других способов пока нету.


Это форум помощи? или болтовни??
 

nw

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

-~{}~ 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. не заметил фразы про относительные линки
 

russjura

Новичок
nw
Спасибо, но видать, заводить тему бесполезно.

PHP:
 str_raplace
- не поможет, так как заменять нечего, а вот из ссылок в пустоту сделать ссылки работающими нужно. Сначала думал про мод_реврайт, но с ним очень туго.
 

tf

крылья рулят
russjura, приведи тут реальные адреса текстом обоих сайтом, мы посмотрим
странно а почему base тебе не подходит?
картинки откуда идти будут?
www.tarif-dimarket.ru почти клон www.dimarket.ru
и работает никто не жалуется
 

russjura

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

tf

крылья рулят
:~)
russjura, адреса приведи
будет регулярка
 

russjura

Новичок
hттp://logistika-zapad.ru
hттp://logistika-severozapad.ru

-~{}~ 05.10.06 22:23:

Воощем спасибо откликнувшимся... Всем удачи..
 

tf

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

russjura

Новичок
конкретно искал как отсеч кавычки... [\'\"]

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

Все, тему можно закрывать. Всем спасибо.
 

tf

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

russjura

Новичок
Сразу напрашивается вопрос, может у кого есть? толковая документация с пояснениями по регуляркам?

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

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