我想创建一个网站,其每个网页都存储在服务器上,但 不 作为单个html文件的加载。 用户还可以通过简单地输入页面文本,页面标题,然后单击提交来创建页面。然后,这会将该页面添加到服务器,搜索引擎可以轻松索引该页面。
页面应该存储在mySQL数据库中吗?如果是这样,每个页面如何在没有执行以下操作的情况下拥有永久链接:www.website.com/loadpage.php&p=8
我更喜欢这样的东西:www.website.com/user-submitted-page-title/
显然很多网站都这样做,但我找不到任何解释。
对不起,如果这是一个新手问题,我非常感谢你的帮助。
答案 0 :(得分:2)
你应该看看用户友好的网址。在大多数情况下,这涉及.htacess文件,该文件将每个网址重定向到您网站的索引。在那里,您可以解析URL并在数据库中查找正确的页面。
答案 1 :(得分:2)
听起来你想建立一个“内容管理系统”或CMS。这些将页面内容存储在数据库(可能是MySQL,但不限于此)中,然后使用服务器端语言(如PHP)将内容放到页面上。然后,您可以执行有用的操作,例如构建页面模板,并且只填写页面之间的更改位(因此您的页眉,菜单和页脚都是预定义的,您可以填写页面的主体)。
这里是a guide on writing a very basic CMS,虽然如果您是PHP的新手,并且只想在线获取内容,您可以考虑使用Joomla或Wordpress这样的开源代码。如果你想要一些中间立场,有Zend和CodeIgniter等框架,它们会为你做一些工作,但我没有任何经验,所以无法提供任何建议。
你还需要网址重写来获得你想要的那种网址 - 这里有一个很好的问题,涵盖了它:dynamic URL rewriting .htaccess
答案 2 :(得分: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,这是绝对的伏都教,所以不要担心,如果这会打击你的思想,它会打击大多数人的思想直到它们为止相当先进。搜索“简单的mod_rewrite规则”,你就可以搞清楚了。
您需要研究的事项:
答案 3 :(得分:1)
您可以使用this创建自己的CMS,也可以使用Wordpress,Drupal,Joomla或FromCMS等最着名的CMS。
您可以使用下面的一些php或python脚本来创建自己的网址。
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(开源数据库管理系统)