PHP开发工具的优势
作为一种简单而高效的Server端嵌入语言,PHP已成为Internet上最流行的一种动态网站制作工具。它不但能够对多种数据库提供良好支持,而且与其它的Server端脚本语言如ASP相比,PHP免费开放源码并且提供跨平台的支持,这使它能够轻易适应当今网络中各种异质的网络环境;可让网页制作人员能够非常快捷、方便地制作出功能强大的动态Web页面。

动态网页的优势
随着计算机和互联网技术的飞速发展,由于静态网页没有数据库的支持,不但增加工作量,而且由于缺乏交互功能,当网站有大量信息及功能较多时,完全依靠静态网页是无法实现的,于是动态网页就成为网站维护的必然要求。动态网页具有良好的交互性、数据库查询、可与HTML以外的文件进行交互、缩短查询时间、提高浏览效率等静态网页所无法比拟的优点。

搜索引擎市场的潜力
据权威统计,全球约有80%的网络用户通过搜索引擎来查找资料或产品信息,此外据美国专业搜索引擎服务公司iProspect调研结果表明:逾60%的雅虎用户和72%的Google用户在进行查询时,都会点击自然搜索结果来寻找他们需要的讯息。显然,网站要想获得尽可能多的访问量,搜索引擎无疑是最理想、也是最直接的目标。

当动态网页遇上搜索引擎
虽然动态网页相比于静态页面拥有许多优势,但它在搜索引擎的检索上却碰了个大钉子。无论任何一家网站,尤其是那些以营销为目的的企业网站,没有谁会希望自己的网页无法被搜索引擎检索到。但事实上却是:动态网站设计的很多内容页面都无法得到搜索引擎的检索。
一般来说,搜索引擎会把动态网页地址中出现的“?”字符视做“停止标记”,在它之后的所有参数都会被忽略掉。例如对“index.php?category=x”的所有子页,搜索引擎最后检索到的URL只有一个,那就是index.php这一个页面。这样一来,动态网页就陷入了无法被搜索引擎发现和检索的尴尬境地,直接失去了被用户发现的机会和搜索引擎这样一个广阔的市场空间。

搜索引擎不支持动态网页的原因
动态网页是由数据库所驱动,这就使得搜索引擎将面对无数URL而被数据库套住陷入死循环的危险,这也就是我们所说的蜘蛛陷阱(Spider Traps)。而且一旦Spider被网站套住,那么它对数据库的重复访问请求也会造成网站服务器系统的彻底瘫痪。鉴于此,搜索引擎对于动态网页中URL里包含“?”之后的字符一概不予读取。

PHP转化为HTML静态页面
虽然不能保证把每个动态页面都转化为静态的HTML文件,但如果网站是驻留在Apache服务器上,则只需一个简单的小脚本就可以把大多数动态页面都转换成HTML文件。

1.确定需要转换成后缀为HTML的PHP文件
我们的目标是那些名下包含动态子页较多的网页。以“index.php?category=x”为例,我们需要对“index.php”之后的动态子页进行转换。 例如,如果网站里有一个名为“Arts and Crafts”的子目录,URL为“index.php?category=1”,其它子目录和这个URL只在最后的变量上不同,因此我们需要修改当index.php之后跟随变量时服务器对它的打开方式。

2.通知服务器在接受一个HTML页面的调用请求后打开一个PHP文件
我们需要在服务器上index.php所在的目录下放置一个.htaccess文本文件。.htaccess文件是Apache服务器上的一个目录配置设置文件,它提供了针对目录改变配置的方法,即在一特定的文档目录中放置一个包含一个或多个指令的文件(.htaccess文件),来作用于此目录及其所有子目录。.htaccess的功能包括设置网页密码、设置发生错误时出现的文件、改变主页文件名、禁止读取文件名、重新导向文件、增加MIME类别、禁止列目录下的文件等。

在需要针对目录改变服务器的配置,而对服务器系统没有root权限时,应该使用.htaccess文件。如果服务器管理员不愿意频繁修改配置,则可以允许用户通过.htaccess文件自己修改配置,尤其是ISP在一台机器上提供多个用户站点,而又希望用户可以自己改变配置的情况下,一般会开放部分.htaccess的功能给使用者自行设置。对于Vdeck用户来说,可能需要先创建一个文本文件,然后在管理面板将其更名为.htaccess。现在我们需要在服务器端指定一些变量。比方说,我需要把“?category=x”这个变量改成“directory-x.html”,这样就能消除动态页面无法被搜索引擎检索的问题。

在开始创建服务器变量前,我们需要先在这个新建的.htaccess文件中创建一个Rewrite Engine (URL重写工具)。只需要在文件第一行写上
RewriteEngine On
这就等于告诉服务器我们要改变一些文件的处理方式。接下来的一行就要指定重写规则:
RewriteRule ^directory-([0-9]*.* index.php?category=$1 [L,NC]
这个指令表明:只要接到URL中包含“directory-0”到“directory-9”的任意静态网页的页面调用请求,服务器将以“index.php?变量”地址返回给调用用户。

先别急着编辑下一条改写规则,我们有必要在更改实际的PHP页面之前先进行一下测试。我们可以对上面的"重写规则"进行测试。首先新开一个浏览器窗口,在地址栏中输入“directory-1.htm”或“directory-1.html”,如果我们看到的页面显示为“index.php?category=1”就表明改写规则工作正常。

3.让搜索引擎看到我们的静态化页面
现在,我们需要让搜索引擎能够看到我们经过“改头换面”的新的网页地址。那么,是不是需要赶紧把网站再向搜索引擎提交一遍呢? 不用这么费劲,我们只需打开PHP文件编辑一下就行了。不过在此之前,应记得将要修改的每个脚本都做个备份,将其存放在硬盘上。然后需要确定创建更改链接地址的程序的不同地方。最好在前端而不要在后台进行更改。PHP文件将会从.htaccess文件中得到形如“index.php?category=x”之类的信息。我们需要把这些动态生成的网页地址更改一下,并以静态化页面地址显示给用户和搜索引擎。即将所有URL中包含“index.php?category=”的部分替换为“directory-”,并加上.html后缀。

一旦发现待修改的区域,在更改后要随时检查有无错误。如果在脚本中有错误而没有发现,纠正起来是相当棘手的,尤其在对PHP编码不熟悉的情况下。

转载于:https://www.cnblogs.com/amgod/archive/2005/04/14/137776.html

PHP动态网页转换HTML的一个简单办法相关推荐

  1. 强制 转换string 的一个简单方法(笔记)

    强制 转换string 的一个简单方法(笔记) //05  eg. //: c05:ToolTest.java // From 'Thinking in Java, 2nd ed.' by Bruce ...

  2. java如何做网页_java怎么做一个简单网页?网页包括什么?

    学了java程序之后,大家就可以将这些运用到生活中去,比如做一个简单的网页.正好也可以检测自己学了怎么样,那么接下来,我们就来给大家讲解一下这方面的内容. 用Java语言编写实现一个简单的WEB浏览器 ...

  3. Python制作网页Day 1(一个简单的网页)

    目录 1 一个简单的网页 1.1 一个简单的网页 1.2 URL可以传参的网页 2 在本机查看运行结果 2.1 代码 2.2 IP地址的获取 3 可显示输入内容的网页 4 字体的修饰 4.1 标签 4 ...

  4. Qt怎么实现将bmp图片转换成Ascii_一个简单易用但功能强大的图形矢量化软件,扫描图片转换成CAD图的软件等等...

    背景简介 很多童鞋可能可能有想要把图片转成CAD能打开的格式,但是找不到软件,今天要分享的这个软件值得一试. 内容简介 AlgoLabR2VToolkit是一个将光栅图像转换为矢量图像的软件,转换后的 ...

  5. 手机语音翻译怎么做?分享一个简单办法,快速实现中英文语音对话

    翻译分为文字翻译和语音翻译,文字翻译使用手机浏览器直接搜索就能完成,但实现语音翻译还是比较困难的,随着科技的发展,语音翻译用手机也能轻松实现了,就算进行中英文语音实时对话也是非常简单的事,那么手机该如 ...

  6. 网页期末作业制作一个简单HTML电影网页设计(HTML+CSS)

    HTML实例网页代码, 本实例适合于初学HTML的同学.该实例里面有设置了css的样式设置,有div的样式格局,这个实例比较全面,有助于同学的学习,本文将介绍如何通过从头开始设计个人网站并将其转换为代 ...

  7. php动态网页转换成html,怎么把动态的php文件转换成静态的html文件,html文件是php文件…...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 生成静态文件除了2楼所说的ob缓存方法之外,还有一种方法就是通过使用模板替换技术实现(正则表达式) header("content-type:t ...

  8. 做一个简单网页(做一个简单网页多少钱)

    怎样做一个简易的网页?做一个简单网页多少钱 做一个简易的普通网页比较容易.当然,制作的方法有好几种,有的是直接写代码.有的是用绘图软件绘制页面再导出网页.常用的是使用网页制作软件做网页.下面以普通静态 ...

  9. 让米帝领事馆给你报空气质量(动态网页爬取及简单的数据整理)

    自从有娃以后,很久没有时间好好摸一摸编程了,周末的时候正好出门溜娃,就想到了空气质量的问题,虽然有APP啊上海发布啊之类的可以查,但我偏偏就是手贱要爬米帝领事馆的数据.(PM2.5监测网上的监测站点更 ...

最新文章

  1. 对表单控制是否提交 需要在方法名前面加上 return
  2. 微服务网关 Kong 科普
  3. 图像卷积详细解释 常用卷积核解释说明
  4. pku 1325 Machine Schedule(匈牙利算法)
  5. #ifndef HeaderName_h #define HeaderName_h #endif 使用详解
  6. 【梳理】离散数学 第19章 初等数论 19.3 同余 19.4 一次同余方程
  7. TCP 之 抓包分析
  8. JavaScript表单验证
  9. 【GPS】 根据GPS坐标求取两点间距离算法
  10. 使用keras训练一个区分不同人声音的模型
  11. C语言高效编程的四大秘技之以空间换时间
  12. C++ BMP转JPG方法二
  13. python深拷贝与浅拷贝
  14. 微软超融合+混合云:源自Azure技术的超融合架构
  15. win7系统打开定位服务器地址,win7系统手动打开或关闭系统定位服务的步骤
  16. 目 录 -- 项目管理知识体系指南(PMBOK指南)(第五版)
  17. CSS的浮动以及清楚浮动的方法
  18. boosting算法调参
  19. 必应每日一图直接获取及接口
  20. 基于GEC6818的智能家居系统[完整源码/项目报告/笔记分享]

热门文章

  1. java创建对象new后面为啥可以传入参数_来复习一下Java的对象知识
  2. 生物信息学(Bioinformatics)
  3. uvali5697(DP)
  4. JZOJ__Day 1:【NOIP普及模拟】JABUKE
  5. 智能运维监管系统终端_城市轨道交通关键设备智能运维系统初步建构
  6. 图像处理中ct图的通道是多少_常见医疗扫描图像处理步骤
  7. java guice_java – Guice:如何为一个类型获得多个@Provides?
  8. 斗鱼实名认证 mysql_斗鱼扩展--DouyuRoom使用说明(十四)
  9. 函数,名称空间——day11
  10. Swift之String的简单实用