【问题标题】:Basic set up for wiki-type websitewiki 类型网站的基本设置
【发布时间】:2012-06-14 11:38:49
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: php mysql html


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      这里是a guide on writing a very basic CMS,尽管如果您是 PHP 新手并且只想在线获取一些东西,您可以考虑使用开源的,例如 JoomlaWordpress。如果你想要一些中间立场,有诸如 Zend 和 CodeIgniter 之类的框架,它们会为你做一些工作,但我没有任何经验,所以无法提供任何建议。

      你还需要 url-rewriting 来获得你想要的那种 URL - 这里有一个很好的问题:dynamic URL rewriting .htaccess

      【讨论】:

        【解决方案3】:

        您所描述的实际上是网络上几乎每个网站的运作方式。这并不是什么晦涩难懂的事情,实际上,如果有一个网站将页面存储为 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 中转义输入。

        【讨论】:

          【解决方案4】:

          您可以使用 this 创建自己的 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/

          是的,您可以选择任何一个 sql 服务器来存储数据。最好选择mysql(开源数据库管理系统)

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-06-26
            • 1970-01-01
            • 2014-06-20
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多