为什么要进行URL静态化?

1、更好的迎合搜索引擎工作原理的爬行抓取机制;

2、把网站URL静态化更有助于网站获得好的排名;

3、URL静态化有利于用户体验、不容易出错

4、可以提高网站访速度、完全性、稳定性

URL重写

最常见的方法是使用服务器的URL重写模块,在LAMP (Linux十Apache MySQL PHP)服务器上一般使用mod_rewrite模块,Windows服务器也有功能相似的ISAPI Rewrite等模块。

以LAMP服务器为例,要想把URL转化为静态化

需要启用服务器mod_rewrite模块,然后在.htaccess文件中写入如下代码:

RewriteRule /products/([0-9] ) /products.php?id=$1

URL重写代码基于正则表达式,每个网站的动态URL结构不同,服务器设置也可能不同,代码也就不同。正则表达式的写法比较复杂,千变万化,通常需要程序员编写。在写URL静态化代码时必须非常小心,错了一个字符,多了一个斜杠等微小的不同,都可能造成灾难性的后果。

注意:

1,严格来说,这里所说的URL静态化应该称为“伪静态化”,也就是说服务器上还是不存在相应的HTML文件,用户访问时还是动态生成页面,只不过通过URL重写技术使网址看起来像是静态的。也有的CMS系统可以实现真正静态化,站长增添产品或文章后,系统会自动生成真实存在的静态的HTML文件。对搜索引擎来说,真正的静态与伪静态没有区别。

2,Wordpress程序URL静态化的方法:

3,如何实现动态url向静态url转换

页面静态化:

利用PHP模板生成静态页面

PHP模板实现静态化非常方便,比如安装和使用PHP Smarty实现网站静态化。

在使用Smarty的情况下,也可以实现页面静态化。下面先简单说一下使用Smarty时通常动态读取的做法。

一般分这几步:

1、通过URL传递一个参数(ID);

2、然后根据此ID查询数据库;

3、取得数据后根据需要修改显示内容;

4、assign需要显示的数据;

5、display模板文件。

Smarty静态化过程只需要在上述过程中添加两个步骤。

第一:在1之前使用 ob_start() 打开缓冲区。

第二:在5之后使用 ob_get_contents() 获取内存未输出内容,然后使用fwrite()将内容写入目标html文件。

根据上述描述,此过程是在网站前台实现的,而内容管理(添加、修改、删除)通常是在后台进行,为了能有效利用上述过程,可以使用一点小手段,那就是Header()。具体过程是这样的:在添加、修改程序完成之后,使用Header() 跳到前台读取,这样可以实现页面HTML化,然后在生成html后再跳回后台管理侧,而这两个跳转过程是不可见的。

html太极图代码静态_如何做URL静态化?和页面的静态化相关推荐

  1. python静态代码检查_想要开发一个供 Python 使用的静态类型检查项目

    不知道有没有类似项目,如果有的话请告诉我, 昨天发了个贴问了一下类型提示的循环导入问题,产生了一些发散式联想,能不能把现有的体系再升级一下做成一个自动检查项目,应该会挺有用的. 目前我司对于类型检查使 ...

  2. java 静态代码块_关于Java你不知道的那些事之代码块

    前言 普通代码块:在方法或语句中出现的{},就被称为代码块 静态代码块:静态代码块有且仅加载一次,也就是在这个类被加载至内存的时候 普通代码块和一般语句执行顺序由他们在代码中出现的次序决定,先出现先执 ...

  3. python代码宠物_和孩子一起做一只电子宠物吧!

    作者/ Warren Sande, Carter Sande Warren(父亲)毕业于加拿大里贾那大学电气工程系.一直在面向计算机初学者教授软件基础课程,编写过大量广受欢迎的技术文档.Carter- ...

  4. python 制作自己的新闻_新闻-十行代码,用Python做一个迷你版的美图秀秀

    十行代码,用Python做一个迷你版的美图秀秀 2020-02-28 10:16:08 作者: 匿名 浏览量:65次 美图秀秀相信大家都不陌生,大家只要操作美图秀秀,就可以P掉图片中脸上的一些瑕疵,让 ...

  5. mysql代码提示_聊一聊 php 代码提示

    title: 聊一聊 php 代码提示 date: 2017-8-25 15:05:49 这次我们来聊一聊 php 的代码提示, 不使用 IDE 的同学也可以瞧瞧看, PHP IDE 推荐 phpst ...

  6. 迷宫_随机实验_边做边学深度强化学习:PyTorch程序设计实践(1)

    迷宫_随机实验_边做边学深度强化学习:PyTorch程序设计实践 0.相关文章 1.导入所使用的包 2. 定义迷宫 3.定义迷宫动作 4.策略参数θ转换为行动策略π 5.定义随机移动函数 6.定义使智 ...

  7. layui 如何动态加载局部页面_从输入URL到页面加载的过程?如何由一道题完善自己的前端知识体系!...

    作者:撒网要见鱼 原文链接:http://www.dailichun.com/2018/03/12/whenyouenteraurl.html 「----超长文预警,需要花费大量时间.----」 本文 ...

  8. 倒立摆_DQN算法_边做边学深度强化学习:PyTorch程序设计实践(5)

    倒立摆_DQN算法_边做边学深度强化学习:PyTorch程序设计实践(5) 0.相关系列文章 1.Agent.py 2.Brain.py 3.Environment.py 4.Val.py 5.Rep ...

  9. Spring-Boot:写出来的网站访问不到静态资源?怎样通过url访问SpringBoot项目中的静态资源?localhost:8989/favicon.ico访问不了工程中的图标资源?

    Spring-Boot:Spring-Boot写出来的网站访问不到静态资源?怎样通过url访问SpringBoot项目中的静态资源?localhost:8989/favicon.ico访问不了工程中的 ...

最新文章

  1. Django框架进阶
  2. linux内核经典书籍--Linux内核设计与实现
  3. MySQL笔记9:内连接、左连接、右连接以及全连接查询
  4. BZOJ 2038: [2009国家集训队]小Z的袜子(hose)
  5. httpd启动报错:httpd: apr_sockaddr_info_get() failed for jsp...
  6. windows 10 下利用WSL的Linux环境实现vscode C/C++环境的配置
  7. 判断选择语句switch...case
  8. 人工智能实战_第一次作业_杨佳宁_16141032
  9. 4款.Net报表控件优势对比分析
  10. Java分布式唯一ID生成方案——比UUID效率更高的生成id工具类
  11. 死锁(Deadlock)
  12. ORACLE 中IN和EXISTS比较
  13. 如何设置内网打印机端口网络穿透到公网
  14. 我的缅甸往事(二) | 惊魂南塘河
  15. 电脑常用工具集(开发,windows,持续更新)
  16. 【VSCode教程】 C++第一个DLL、远离手动GCC、快速自动生成、来 say_helloヽ(^o^)丿
  17. 北京交通大学c语言作业,北京交通大学c语言综合程序设计(黄宇班).doc
  18. 微信小程序WXSS语法介绍
  19. 骁龙8gen2和骁龙8gen1差距大吗 骁龙8gen2比8gen1性能强多少
  20. 转:彻底搞懂Android文件存储---内部存储,外部存储以及各种存储路径解惑

热门文章

  1. 并发工具类(二)同步屏障CyclicBarrier
  2. Ubuntu 上 Node.js 安装和卸载
  3. SElinux测试及排错
  4. Microsoft Dynamics CRM 2011中,Lookup字段的赋值
  5. 深入理解JavaScript系列(4):立即调用的函数表达式
  6. SQL语句的解释计划
  7. Redhat中通过命令工具和配置文件设置TCP/IP参数的方法
  8. Silverlight 数据显示和布局控件 示例
  9. 网管日志-06.08.18
  10. 支持企业互联网的正确故障恢复方法