我是否必须为每个博客 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
一样(通过它或其他方式从数据库中获取页面)。
我正在使用数据库从头开始创建博客。我知道如果我像这样在 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
一样(通过它或其他方式从数据库中获取页面)。