首页 > 其他分享 >页面静态化的方法 伪静态

页面静态化的方法 伪静态

时间:2023-08-07 11:33:20浏览次数:32  
标签:index 静态 ob html php 方法 页面

1.页面静态化
--在静态页面还是会有一部分内容会发送变动,可以使用ajax动态加载这些需要变动的数据
----1.真静态
   ----1)使用ob缓存获取页面输出的内容,进行静态页面生成
         缓存区:ob缓存区=》程序缓存区=》浏览器缓存区
         ob_start()  开启ob缓存
         ob_clean() 清除缓存区  之前输出的数据,都会被清空
         ob_get_contents()  获取ob缓存的内容
         file_put_contents('url',ob_get_contents);
         ob_end_flush();输出商品详情
         ob缓存一般被用到两个地方:
         1.页面静态化,可以把页面将要输出的信息,全部捕获
         2.验证码(图片)header头之前如果有输出,会乱码。ob_clean去消除之前的输出
   ----2)可以抓取动态网页内容,再保存成为静态页面
         可以使用curl或者file_get_contents 请求动态页面,把字符串信息,通过file_put_contens保存成为静态页面。如果你的数据还是定时要发生改变的,你可以使用linux下的crontab定时任务去执行。
   ----3)在添加动态数据的时候,就把对应的静态页面生成。
   ----4) ThinkPHP下可以使用fetch抓取数据并保存
 
 
----2.伪静态
         第1步:
         到apache的配置文件中,开启一个模块——url重写模块:rewrite_module
         第2步:
         到虚拟主机配置文件中要启用伪静态的站点设置里设置如下:
         <VirtualHost *:80>
            ServerName www.php50.com 
            DocumentRoot "H:\***"
            <Directory "H:\***">
               #目录选项
               Options Indexes FollowSymLinks  #主要
               AllowOverride All #主要
               #设定访问权限
               Order Deny,Allow 
               Allow from all
               #设定默认网页
               DirectoryIndex index.php
            </Directory>
         </VirtualHost>
         第3步:
         到站点的根木录,创建“分布式配置文件(.htaccess),并进行配置如下:
         #配置仿静态网站
         <IfModule rewrite_module>
            #启动匹配引擎
            rewriteengine on
            #重写规则  静态   动态
            rewriterule index.html index.php
            rewriterule cid-(\d+).html index.php?cid=$1
            rewriterule Detail-(\d+).html index.php?a=Detail&id=$1  
            rewriterule Register.html  index.php?p=Home&c=User&a=Register
            rewriterule Login.html  index.php?p=Home&c=User&a=Login
            rewriterule Logout.html  index.php?p=Home&c=User&a=Logout
            rewriterule check.html  index.php?p=Home&c=User&a=check
            rewriterule RegSave.html  index.php?p=Home&c=User&a=RegSave
         </IfModule>
 
         #ThinkPHP下的伪静态配置文件  -d为文件目录  -f为文件
         <IfModule mod_rewrite.c> 
            RewriteEngine on 
            RewriteCond %{REQUEST_FILENAME} !-d 
            RewriteCond %{REQUEST_FILENAME} !-f 
            #RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
            RewriteRule ^(.*)$ index.php?s=$1 [QSA,PT,L]
         </IfModule>
 
详性请见 base/apache php mydql config/分布式配置.php
 
 
#这是站点的分布式配置文件
 
<IfModule rewrite_module>
   #开启url重写引擎
   ReWriteEngine On
 
   #下面,就是一行一行进行“动态地址”和“静态地址”的匹配设置了:
   #形式:RewriteRule  静态地址  动态地址
   #RewriteRule day7/blog-v13/index.html  day7/blog-v13/index.php
   #RewriteRule page1-18.html  page1.php?id=18
   #......继续这样写。
   #RewriteRule day7/blog-v13/cid-(\d+).html day7/blog-v13/index.php?cid=$1
   #RewriteRule day7/blog-v13/Detail-(\d+).html day7/blog-v13/index.php?a=Detail&id=$1
   #RewriteRule register.html day7/blog-v13/index.php?c=User&a=Register
 
</IfModule>

标签:index,静态,ob,html,php,方法,页面
From: https://www.cnblogs.com/fuqian/p/17610977.html

相关文章

  • javaee 创建泛型方法
    packagecom.test.generic;importjava.util.Collection;publicclassTestGenericClass{ //泛型方法?extendsE:泛型的限定 publicstatic<E>voidmove(Collection<E>from,Collection<?superE>to) { for(Ee:from) { to.add(e);......
  • DataFrame中删除重复列(即保留重复列的其中一列)的解决方法
    剔除重复列df_不合格单_i.T.drop_duplicates().Thttps://blog.csdn.net/winner3/article/details/81053021这个方法是有问题的解决办法:要剔除重复列,你可以使用drop_duplicates函数。在这种情况下,你可以使用subset参数指定要检查的列,然后使用keep参数指定保留哪个重复列。以下是实......
  • 视频融合平台视频汇聚平台LiteCVR页面tab切换细节优化教程分享
    LiteCVR视频融合平台采用云边端协同架构,为网络摄像头、网络存储设备、智能终端、无人机、车载设备、移动执法仪、视频监控平台等提供了一体化的视频接入、分发、存储和处理能力。该平台支持海量视频的轻量化接入与汇聚管理,并利用大数据分析进行决策和判断。经过测试我们发现,在LiteC......
  • 【腾讯云 Cloud Studio 实战训练营】基于Cloud Studio构建React完成点餐H5页面
    前言最近也是有机会参与到了腾讯云举办的腾讯云CloudStudio实战训练营,借此了解了腾讯云CloudStudio产品。腾讯云CloudStudio的出现是有一定创新性的,使用它进行开发免去了使用一些传统开发工具的成本。如下载一个开发工具就要进行基本的开发环境配置,以及下载、安装......
  • 软件测试-Web端测试方法总结
    一、输入框1.字符型输入框1)输入框格式校验英文全角、英文半角、数字、空或者空格、特殊字符“……!@#¥%……&*({【《,。?、:;‘<>’》】})”特别要注意单引号和&符号。禁止直接输入特殊字符时,使用“粘贴、拷贝”功能尝试输入。知识点扩展:全角/半角全角:一个字符占用两个标准字符位置半角:一个......
  • 配置 Sublime Text4为 C++ 编辑器的方法
    概述涉及以下插件的安装和配置PackageControl Terminus LSP LSP-clangd clang-format LSP-pyright LSP-json配置sublime安装PackageControl以进行包管理。Terminus安装Terminus以实现sublimetext4内的terminal。绑定快捷键:[ { "keys":[ "ctrl+shift+t" ], "com......
  • AI绘画:两组赛博咒语和ComfyUI使用方法
    虽迟但到啊,上次说过要发,必然是要发滴! ​ 本来我是可以直接发的,但是我又想着发关键词的同时,最好是讲解一下用法,这样更友好。所以就拖了一天! 下面先展示一下两套咒语的效果:     这套咒语可以生成动物外形的赛博生物,巨......
  • 使用伪类hover选择器显示边框页面抖动问题
    起因在mdn上完成“鼠标在某些HTML元素上悬停时增加动画”的练习时发生异常。当鼠标悬浮在p标签上,边框出现的同时,页面也会跟着抖动:我是打算在css样式里给p标签绑定伪类hover,当鼠标悬浮在p元素上时会出现边框并改变背景颜色,我的代码如下:p:hover{border:3pxridge;......
  • windows应用程序icon缓存、查看图标、icon制作方法
    windows程序图标缓存在vs中替换c++程序的图标后,需要重新编译,但是很多情况下都不会刷新,还是看到老的图标,只能重启电脑才能看到新的图标。通过ChatGPT得到相关的回答如下:如果在Windows上更换了可执行文件(.exe)的图标,但是在图标文件已经更改的情况下仍然显示旧的图标,可能是因......
  • MySQL的关键指标及采集方法
    MySQL是个服务,所以我们可以借用Google四个黄金指标的思路来解决问题。1、延迟应用程序会向MySQL发起SELECT、UPDATE等操作,处理这些请求花费了多久,是非常关键的,甚至我们还想知道具体是哪个SQL最慢,这样就可以有针对性地调优。在客户端埋点。即上层业务程序在请求MySQL的时......