0

私は最近、大企業の PHP Web 開発者の職に就きました。多くの同じコンテンツ (主にニュース記事) を共有する複数のサイトがあります。すべてのサイトは PHP で書かれていますが、コンテンツは静的であり、ニュース記事が追加されたり、他の情報が変更されたりすると、すべてのサイトで手動で編集されます。そこにいる「シニアプログラマー」は、何らかの理由でcmsを使用することに反対し、php 5へのアップグレードに反対し、mod_rewriteのインストールに反対しています。基本的に、私は非常に小さなパラメーター内で作業する必要があります。

私は最初の 3 週間で大量のクラスを作成して混乱を解消しましたが、このデータを簡単な方法で複製する方法を見つけなければなりません。私はデータベースを必要としないことを考えています (主任はデータを分散させたくないので、イントラネット以外のデータベースはダメです)、手作業で編集する必要があるとしても、一元化された XML ファイルか何かが欲しいだけです。それは...任意のアイデア???

4

5 に答える 5

1

PHP をテンプレート エンジンとして扱い、すべてのメイン ページで 1 つのサイトの RSS フィードから HTML マークアップ (または xml) 記事を取得します。

フィードを編集して新しい記事を追加し、マークアップされた記事をメイン サイトに追加します。すべてが非常にシンプルで、理解しやすく、スケーリングされます。

「実際の」CMS、データベースなどを必要としません。

-アダム

于 2009-03-25T17:33:05.723 に答える
0

元のコンテンツが作成および編集されるマスターサイトが1つあります。

その他すべての場合は、.htaccessのApache ErrorDocumentハンドラーを使用して、404エラーを新しいphpスクリプトにルーティングします。

ErrorDocument 404 /syndicate.php

syndicate.phpで、($ _ SERVER ['REQUEST_URI']から)URIを取得し、元のドメインからコンテンツをフェッチして、200 / OKヘッダーで出力します(したがって、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");
エコー$master_html;
} そうしないと {
header( "HTTP / 1.0 404 Not Found");
}

重複するコンテンツは、引き続き要求されたURLの下にあります。

于 2009-03-25T17:59:36.767 に答える
0

Web サイトが使用するすべてのドキュメントに対して 1 つのフォルダーを使用します。

于 2009-03-25T17:29:18.027 に答える
0

CURLを使用して、HTTP 経由で必要なものにアクセスできます。CURLOPT_RETURNTRANSFER オプションを 1 に設定すると、必要なコンテンツを取得できます。XML、HTTP など。

于 2009-03-25T17:32:51.513 に答える
0

上級プログラマーが CMSes、PHP5 (少なくとも PHP3/PHP4 に反対する場合 - 言語の聖戦は不要)、mod_rewrite などの業界標準ツールに反対している場合は、管理に関与する時が来ました。そのような態度は容認できません。

于 2009-03-25T18:25:01.480 に答える