Paylaşılan veriler birden fazla site

5 Cevap php

Geçenlerde büyük bir firma için bir php web geliştirici pozisyon almış. Onlar aynı içeriği (özellikle haber makaleleri) çok paylaşan birden çok site var. Tüm siteler PHP ile yazılmış olmasına rağmen, içeriği statik ve bir haber makalesi eklenir veya diğer bilgileri değiştiğinde elle tüm sitelerde düzenlenebilir. "Üst düzey bir programcı" mod_rewrite yükleyerek karşı, 5 php yükseltme karşı nedense bir CMS kullanarak karşı olduğunu, temelde ben çok küçük bir parametre içinde çalışmak zorunda.

Ben karışıklık dışarı aklı çeşit yapmak için sınıfların bir sürü yazmak için ilk 3 hafta almış, ama ben kolay bir şekilde bu verileri çoğaltmak için bir yol bulmak zorunda. Ben el düzenlemek gerek bile, ben sadece bir merkezi XML dosyası veya bir şey istiyorum, (kafa adam intranet dışında başka yerde veritabanları bir hayır-hayır vardır böylece veri dezentralize istemiyor) bir veritabanına ihtiyaç duymadan bir şey düşünüyorum o ... herhangi bir fikir??

5 Cevap

Bir çiftleşmiş motoru olarak PHP davranın ve tüm ana sayfaları işaretlenmiş html (veya XML) çekin sahip bir siteden bir RSS beslemesi makaleler.

, Yeni bir makale eklemek ana siteye işaretlenmiş makale ekleyebilir, ve hepsi çok, çok basit, kolay anlaşılır ve ölçekler bulunuyor için yem düzenleyin.

'Gerçek' bir cms, veritabanı, ya da bir şey söz gerek yok.

Web siteleri tüketmek tüm belgeler için kullanıcı bir klasör.

Sen CURL, HTTP üzerinden ne gerek erişmek için kullanabilirsiniz. 1 CURLOPT_RETURNTRANSFER seçeneği ayarlama ne istiyorsunuz içerik almak için izin verecektir. XML, HTTP, vb

Özgün içerik oluşturulur ve aldığı bir master sitesi var düzenlenebilir.

Tüm diğerleri üzerinde, yeni bir php komut dosyası rota 404 hataları. Htaccess olarak Apache ErrorDocument işleyicisi kullanın.

ErrorDocument 404 /syndicate.php
In syndicate.php, take the uri (from $_SERVER['REQUEST_URI']), fetch the contents from the original domain and output it with a 200/OK header (so it's not seen as a 404).
$master_domain = 'http://master.com';

$master_html = file_get_contents($master_domain . $_SERVER['REQUEST_URI']);

if($master_html != '') {
header("HTTP/1.0 200 OK");
echo $master_html;
} else {
header("HTTP/1.0 404 Not Found");
}

Yinelenen içerik hala istenen url altında olacak.

Üst düzey bir programcı (PHP3/PHP4 karşı kabul azından - bir dil kutsal savaş için gerek) CMSes, PHP5 gibi endüstri standardı araçları karşı ise, mod_rewrite, vb bu yönetimi dahil etmek zamanı. Böyle bir tutum kabul edilemez.