0

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

我花了前 3 周的时间编写了一大堆课程,以使混乱变得理智,但我必须找到一种方法来以简单的方式复制这些数据。我在想一些不需要数据库的东西(负责人不想分散数据,所以除了 Intranet 以外的任何地方的数据库都是不行的),我只想要一个集中的 XML 文件或其他东西,即使我需要手动编辑它......有什么想法吗???

4

5 回答 5

1

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

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

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

-亚当

于 2009-03-25T17:33:05.723 回答
0

为您的网站使用的所有文档使用一个文件夹。

于 2009-03-25T17:29:18.027 回答
0

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

于 2009-03-25T17:32:51.513 回答
0

拥有一个主站点,在其上创建和编辑原始内容。

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

错误文档 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");
回声 $master_html;
} 别的 {
header("HTTP/1.0 404 Not Found");
}

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

于 2009-03-25T17:59:36.767 回答
0

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

于 2009-03-25T18:25:01.480 回答