2

我正在创建一个博客引擎作为学习练习,一个特殊的问题让我很难过。我想知道如何在 Wordpress 等博客引擎中创建博客文章?我想有两种方法可以做到这一点:

1) 创建一个名为“testPost”的新博客文章会创建一个名为 www.myblog.com/testPost.html 的新 HTML 页面。因此,对于每篇新博客文章,您都将一个新的 HTML 页面保存到服务器。这种方法似乎效率低下。一个博客可以有数百篇博客文章,这意味着您必须创建数百个 HTML 页面。我不认为我想使用这种方法。

2) 您有一个通用博客文章页面,其数据根据您尝试访问的文章呈现。例如,如果我创建了“testPostOne”,则通用博客文章页面将填充 testPostOne 的数据和 URL,如果我创建了“testPostTwo”,那么通用页面将呈现 testPostTwo 各自的内容等等。

但是使用这种方法会带来自己的问题。例如,您将如何链接到实际不存在的页面?链接到http://www.myblog.com/testPostOne.html不起作用。

这是我可以想出的两种方法来解决这个问题。我不确定是否还有其他选择。如果您知道,请随时推荐解决此问题的更好方法。

基本上,我希望能够为每篇博文创建一个格式良好的 URL,而不必在服务器上为每篇博文创建一个新的 HTML 页面。

编辑:我可能会补充说我正在使用 ASP.NET 来执行此操作,因此通过此框架可用的任何方法都会有所帮助

4

5 回答 5

6

基本思想是使用数据库。每个帖子都是数据库中的一个条目,您只需根据 URL 检索数据。例如,

www.myblog.com/posts.php?postid=1 或 www.myblog.com/posts.aspx?postid=1

然后,您可以使用 URL 重写方法以更清晰的 URL 检索相同的帖子,或者使用更好的 RESTful 方法来执行相同的任务。

于 2009-06-20T00:31:54.347 回答
1

这是一个用 ASP.NET 2.0 编写的开源博客引擎和一个用 PHP 编写的(还有很多其他的)。你最好的办法是检查设计和架构,并剖析它(或类似的东西)是如何工作的。

于 2009-06-20T00:30:49.233 回答
0

例如,您需要在 PHP 中创建一个动态页面,该页面从数据库中读取帖子内容的数据。如果您希望页面中有漂亮的 URL,那么您需要研究类似的东西mod_rewrite来重写 URL。

于 2009-06-20T00:30:29.297 回答
0

如果您动态创建页面(如建议 2 中所示),当您尝试访问它时http://www.myblog.com/testPostOne.html将存在,即使它不是磁盘上的实际文件...

所以建议2可能是最好的方法。

于 2009-06-20T00:33:09.650 回答
0

就个人而言,我使用 Apache mod_rewrite。因此,当您有如下 URL 时:

http://myblog.com/archives/my_very_first_post,

您可以像这样制定重写规则:

RewriteEngine on
RewriteRule ^archives/(.*)$ myblog.php?post=$1

Apache 将“my_very_first_post”解释为帖子 ID,并将其提供给处理该 ID 的 PHP 脚本。然后脚本从数据库中获取帖子并显示它。

我相信这是最常见的方法。

于 2009-06-20T00:38:40.823 回答