多个站点共享数据

发布于 2024-07-15 23:21:38 字数 356 浏览 11 评论 0原文

我最近在一家大公司担任 php Web 开发人员。 他们有多个网站共享许多相同的内容(主要是新闻文章)。 所有网站虽然都是用 PHP 编写的,但内容都是静态的,并且当添加新闻文章或更改其他信息时,所有网站上的内容都是手动编辑的。 出于某种原因,“高级程序员”反对使用 cms,反对升级到 php 5,反对安装 mod_rewrite,基本上我必须在一个非常小的参数内工作。

我花了前三周的时间编写了很多类,以某种方式理清混乱,但我必须找到一种方法以简单的方式复制这些数据。 我正在考虑一些不需要数据库的事情(负责人不想分散数据,因此除内联网之外的任何地方的数据库都是禁忌),我只想要一个集中的 XML 文件或其他东西,即使我需要手动编辑它...有什么想法吗???

I have recently taken on a php web developer position for a large firm. They have multiple sites that share much of the same content (mainly news articles). All the sites although written in PHP, the content is static and manually edited on all the sites when a news article is added or other information is changed. The "senior programmer" there is against using a cms for some reason, against upgrading to php 5, against installing mod_rewrite, basically I have to work within a very small parameter.

I have taken the first 3 weeks to write a whole lot of classes to make some sort of sanity out the mess, but I have to find a way to replicate this data in an easy manner. I am thinking something without the need of a database (the head guy doesnt want to decentralise data so databases anywhere other than the intranet are a no-no), I just want a centralised XML file or something, even if I need to hand edit it... any ideas???

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

椵侞 2024-07-22 23:21:38

将 PHP 视为一种模板引擎,并让所有主页从一个站点的 RSS 提要中提取标记的 html(或 xml)文章。

编辑提要以添加新文章,将标记的文章添加到主站点,这一切都非常非常简单,易于理解并且可扩展。

无需涉及“真正的”CMS、数据库或任何东西。

-亚当

Treat PHP as a templating engine, and have all the main pages pull the html marked up (or xml) articles from an RSS feed from one site.

Edit the feed to add a new article, add the marked up article to the main site, and it's all very, very simple, easy to understand, and scales.

No need to involved a 'real' cms, database, or anything.

-Adam

桃气十足 2024-07-22 23:21:38

使用一个文件夹来存放您网站使用的所有文档。

User one folder for all documents which your websites consume.

桃扇骨 2024-07-22 23:21:38

您可以使用 CURL 通过 HTTP 访问您需要的内容。 将 CURLOPT_RETURNTRANSFER 选项设置为 1 将允许您获取所需的任何内容。 XML、HTTP 等

You could use CURL to access what you need over HTTP. Setting the CURLOPT_RETURNTRANSFER option to 1 will allow you to get whatever content you would like. XML, HTTP, etc.

你的他你的她 2024-07-22 23:21:38

拥有一个主站点,在该主站点上创建原始内容并发布内容。 编辑。

在所有其他情况下,使用 .htaccess 中的 Apache ErrorDocument 处理程序将 404 错误路由到新的 php 脚本。

ErrorDocument 404 /syndicate.php

在syndicate.php中,获取uri(来自$_SERVER['REQUEST_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");
echo $master_html;
} else {
header("HTTP/1.0 404 Not Found");
}

重复的内容仍将位于请求的 URL 下。

Have one master site, on which the original content is created & edited.

On all others, use the Apache ErrorDocument handler in .htaccess to route 404 errors to a new php script.

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

The duplicate content will still be under the requested url.

阳光①夏 2024-07-22 23:21:38

如果高级程序员反对 CMS、PHP5(至少在考虑反对 PHP3/PHP4 时 - 不需要语言圣战)、mod_rewrite 等行业标准工具,那么是时候涉及管理了。 这种态度是不可接受的。

If the senior programmer is against industry standard tools like CMSes, PHP5 (at least when considered against PHP3/PHP4 - no need for a language holy war), mod_rewrite, etc. it's time to involve management. Such an attitude is unacceptable.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文