0

我想创建一个网站,它的每个页面都存储在服务器上,但不是作为单个 html 文件的负载。用户还可以通过简单地输入页面文本、页面标题,然后单击提交来创建页面。然后,这会将该页面添加到服务器,并且该页面将很容易被搜索引擎索引。

页面是否应该存储在 mySQL 数据库中?如果是这样,每个页面如何在不执行以下操作的情况下拥有永久链接:www.website.com/loadpage.php&p=8 我更喜欢类似:www.website.com/user-submitted-page-title/

显然很多网站都这样做,但我找不到任何解释。

抱歉,如果这是一个菜鸟问题,我非常感谢您的帮助。

4

4 回答 4

2

你应该看看 user-friendly-urls。在大多数情况下,这涉及一个 .htacess 文件,该文件将每个 url 重定向到您网站的索引。例如,在那里,您可以解析 url 并在数据库中查找正确的页面。

于 2012-06-11T14:40:24.970 回答
2

听起来您想构建一个“内容管理系统”或 CMS。这些将页面内容存储在数据库中(很可能是 MySQL,但不限于此),然后使用诸如 PHP 之类的服务器端语言将内容放到页面上。然后你可以做一些有用的事情,比如建立一个页面模板,只填写页面之间变化的部分(所以你的页眉、菜单和页脚都是预定义的,你填写页面的主体)。

这是编写一个非常基本的 CMS 的指南,尽管如果您是 PHP 新手并且只想在网上获取一些东西,您可以考虑使用诸如JoomlaWordpress之类的开源软件。如果你想要一些中间立场,有诸如 Zend 和 CodeIgniter 之类的框架,它们会为你做一些工作,但我没有任何经验,所以无法提供任何建议。

您还需要 url-rewriting 来获得您想要的那种 URL - 这里有一个很好的问题可以涵盖它:dynamic URL rewriting .htaccess

于 2012-06-11T14:50:36.140 回答
1

您所描述的实际上是网络上几乎每个网站的工作方式。这并不是什么晦涩难懂的事情,实际上,拥有一个将页面存储为 html 文件的网站是很可笑的,除非它只有一两个页面......

本质上,您将部分数据存储在表中。想象一下pages表,它有 cols *id、page_title、page_desc、page_content、page_created、page_author_id* 等...

然后,您将有一个名为 page.php 的模板文件,该文件将传递诸如 ?pID=14 或标题 ?pTitle=my-cool-page-title 之类的参数,并且您将匹配数据库中的该页面,获取来自 mysql_fetch_array 的内容,并将这些部分回显到模板文件中的 html 区域。

然后,您将使用绝对巫术的 mod_write 隐藏 page.php?pTitle=my-cool-page-title,所以不要担心这会让您大吃一惊,它会让大多数人大吃一惊,直到他们非常先进。搜索“simple mod_rewrite rules”,你就会明白。

你需要研究的东西:

  • “简单的数据库驱动网站教程”或“php + mysql 网站教程”可能。
  • htaccess 和 mod_rewrite
  • 与数据库交互时从 POST/GET 中转义输入。<-重要
于 2012-06-11T14:50:45.023 回答
1

您可以使用它创建自己的 CMS,可以使用最著名的 CMS,如WordpressDrupalJoomlaFromCMS

您可以使用下面的一些 php 或 python 脚本来创建自己的 url。

How to automatically generate a page after user fills a form via PHP? http://lifehacker.com/5335216/make-your-own-url-shortening-service
How to let PHP to create subdomain automatically for each user? http://www.hongkiat.com/blog/how-to-create-url-shortener-with-your-domain/

Yes you can choose any of the sql servers to stored the data. The best one to choose is mysql (Open Source Database Management system)

于 2012-06-11T14:50:52.563 回答