如何根据URL向网站动态添加页面


How to dynamically add pages to your site based on URL

举个例子,我有http://www.example.com现在,我想为.com/之后键入的任何内容动态创建一个页面。例如,如果我键入http://www.example.com/page1-?3-30blablablaFOOBAR,然后它会创建一个简单的html文件,这样即使以前从未创建过页面,页面也会在那里。

我想这在PHP中是可能的。

不建议按需创建页面,因为人们会在你的服务器中创建很多HTML。

相反,您应该使用URL重写来处理此类URL,并在集中式PHP中处理URL。所有创建的数据都应该由内容管理系统进行管理,并且数据应该保存在数据库中。

我认为您应该了解一下mod_rewrite规则。

您应该能够使用给定的Stringpage1-?3-30blablablablaFOOBAR作为参数重定向到PHP脚本,然后使用该信息创建HTML页面。

您是想"动态创建一个页面",还是想处理404页面未找到的错误,听起来像是在试图解决这些错误?如果是后者,请更新您的web服务器以重定向到您选择的页面。

我假设您使用的是Apache。如果是,请将ErrorDocument指令设置为您已经创建的用于处理此场景的文件。它可以在服务器配置、虚拟主机定义或.htaccess文件中完成。来自文档:

自定义错误文档是使用ErrorDocument指令配置的,该指令可以在全局、虚拟主机或目录上下文中使用。如果AllowOverride设置为FileInfo,则可以在.htaccess文件中使用它。

ErrorDocument 500 "Sorry, our script crashed. Oh dear"
ErrorDocument 500 /cgi-bin/crash-recover
ErrorDocument 500 http://error.example.com/server_error.html
ErrorDocument 404 /errors/not_found.html 
ErrorDocument 401 /subscription/how_to_subscribe.html

ErrorDocument指令的语法为:

ErrorDocument <3-digit-code> <action>