我是否必须为每个博客 post 创建一个页面?

Do I have to create one page for each blog post?

我正在使用数据库从头开始创建博客。我知道如果我像这样在 url 中包含主键,我可以很容易地从数据库中检索信息:

www.url.com/entry?id=1

在这种情况下,返回使用主键 1 存储的信息。我是否可以在没有 'entry?id=' 的情况下也检索这些信息?

我想要实现的是提取相同的信息,但 url 类似于

www.url.com/this-is-my-first-entry

有什么办法吗?或者我是否必须创建一个文件名为 'this-is-my-first-entry' 的页面?如果是这样,有没有办法让我的网站自动为每个新条目创建页面?

不,您不必为每个 url 创建一个页面。

从本质上讲,/entry?id=1/this-is-my-first-entry 与 Web 服务器 相同。它只是一条路径,服务器不关心它将如何处理。

您的代码必须处理此问题(或者更确切地说,您选择的框架的路由组件规则)。

例如,在rails中,这很容易。这是路由规则。

get '/:page' => 'pages#show'

如果您有此规则,您现在可以请求任何名称的页面,/this-is-my-first-page/hello-world/you-wont-believe-what-happened-next。都具有相同的规则。页面 "name" 将映射到参数 page。然后你对待参数 page 就像对待 id 一样(通过它或其他方式从数据库中获取页面)。