




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
伪静态页面的制作我们看到一些网站,地址是以 .htm 或 .html 结尾的,形如 /html/guide/2/1.htm 这样的格式,其中有一部分是真的静态页面,有一些侧是伪静态的。 静态和伪静态的网站我都有做过,其中伪静态的制作和维护都容易一些。所以先向大家介绍伪静态的实现方法。我这里介绍的方法并非用 URL Rewrite (URL重写)实现,不用改写复杂的 URL Rewrite 规则,制作维护起来更加简便。 详细的案例请查看 / 。由于像“会员中心”那些页面,需要登录才能访问的,就不做成伪静态了。否则容易暴露该站点的“静态页面”是假的,呵呵。 第一步,Apache 配置。 Apache 配置,要求在 httpd.conf 的 Directory-Options 中添加 MultiViews 支持。例如 Options Indexes FollowSymLinks MultiViews # 默认为 Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all 先介绍一下实现的原理。假如一个网页的动态地址为 guide.php?page=2&typeid=1 ,对应的伪静态地址为 html/guide/2/1.htm 。 开启了 MultiViews 后,保证的根目录下没有 html/ 目录,然后新建 html.php 文件。访问地址 html/guide/2/1.htm 时,由于 Apache 找不到 html/ 目录,它会读取并用PHP解释 html.php 这个文件。所以我们要在 html.php 中,解读这个伪静态地址为对应的动态地址,然后向用户输出相应的内容。 第二步,创建 html.php 文件。 html.php 的代码及解释: html/xxx/1/2.htm / xxx.php?typeid=1 = html/xxx/1/.htm / 因为有些变量不一定要传值,但设置里面有这个变量,需要给它留一个位置 / 如果这个位置是在最后,就可以去掉了。 if(strrchr($query,/)=/) $query = preg_replace(/+$/mis,$query); / 返回的链接,加上 .htm 字符。 / 看得出来 .htm 这几个字符其实是多余的,反向解释的时候还要先去掉呢 $htmlfile = SCRIPT_IN_ROOTPATH.html/.$file.($query?/$query:).htm; return $htmlfile; / 直接访问 html.php, 即用户访问的路径为伪静态地址时: / 这里是反向解释,把静态链接解释为对应的动态链接; / 把 html/xxx/1/2.htm 这样的访问格式,解释为 xxx.php?typeid=1&page=2 相同的效果 if(basename($_SERVERSCRIPT_FILENAME)=basename(_FILE_) list($request_uri,) = split(?,str_replace(,/,$_SERVERREQUEST_URI),2); / ?号后的去掉,HTML 的路径是不需要那部份的 / 访问路径,去掉 SCRIPT_IN_ROOTPATH 和 .htm $uri_string = substr($request_uri,strlen(SCRIPT_IN_ROOTPATH),-4); / 以 / 号为分隔,分解访问路径到数组中 / 第一项值当然是 html,第二项是没有后缀的实际文件路径,其他为各个请求变量对应的值。 $uri_string_arr = split(/,$uri_string); /文件路径,加回 .php 后缀 $phpfile = str_replace(-,/,$uri_string_arr1).php; / $_SERVERPHP_SELF 这个系统变量, 用伪静态访问的话,会是 html.php . $_SERVERPHP_SELF = SCRIPT_IN_ROOTPATH.$phpfile; /读取变量的格式,分解为数组 $format_arr = array(); if($parseformat$phpfile) $format_arr = split(/,$parseformat$phpfile); /静态地址中的变量值,把它们赋值到 $_REQUEST 和 $_GET 对应的变量中: for($i=0;$i 第三步,包含 html.php 。 其他页面,包括指向 guide.php 的页面和 guide.php 页面本身,只需要以 开头,再添加其他内容即可。 第四步,添加 BASE HREF 。 由于伪静态页面的路径和动态的不一样,导致浏览器解释到的目录不同,所以需要在 HTML 代码的部分,添加 BASE HREF 标签,代码如其中的网址改为你自己的网站地址。 第五步,链接改写。 其中指向伪静态页面的链接,写为类似 这样的格式,得到标准的伪静态链接。例如 快精灵 首页 a href=设计指南 至此,我们的伪静态页面制作
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 网络剧音乐版权授权与保密协议
- 网络文学改编作品衍生品分成补充协议
- 婚内忠诚协议履行责任与法律效力确认合同
- 海外智能家居产品分销权及市场推广补充协议
- 影视动画色彩校准仪租赁及维护服务合同
- 系统项目沟通协调补充协议
- 智能家居产品体验店加盟加盟商培训与成长支持协议
- 氢能源加注站股权合作及氢能技术研发与市场推广服务合同
- 抖音火花达人网红独家经纪代理服务协议范本
- 护理总结报告
- 校园景观园林绿化植物配置设计
- 2024船用电气电子产品型式认可试验指南
- 融资融券指南
- 粪便DNA检测研究-全面剖析
- 装车安全协议合同
- 大型商业综合体火灾事故处置桌面推演1105
- 2025年辽宁省大连市中山区中考一模道德与法治试题(原卷版+解析版)
- 论管理者的性格培养与管理效能
- 2024年图书管理员面试问题及答案
- 2025年青岛科协面试试题及答案
- 2024年12月大学英语四级考试真题及答案第1套
评论
0/150
提交评论