[搜]

贴心猫-文档

Url风格

  • 复习一下 贴心猫系统的 Mkv路由
    • 新闻首页:news
    • 新闻分类列表:news-1234
    • 新闻详情:news.5678
    • 楼盘首页:house
    • 楼盘详情:house.5678
    • 楼盘图片:house.5678.pics
  • Url风格
    • 首先,我们把地址补充完整(省略域名)类似为:/home.php?news.2018-88-8899
    • 这是默认的动态url,本节讨论 要实现如下风格的url:
    • 静态地址:/html/news/2018/88-8899.htm
    • 伪静态地址:/home/news.2018-88-8899.htm
    • Pathinfo模式:/home.php/news.2018-88-8899
    • Pathinfo模式+htm后缀:/home.php/news.2018-88-8899.htm

贴心猫静态,伪静态实现;其实非常简单! (如果服务器设置碰到的麻烦,不能算在内...)

静态页实现

  • /_config/配置
    • 配置模板目录下的 /_config/*.* 相关文件;
    • 可以分开模型配置:如va_home.php(首页),vc_news(新闻),
      配置 c.vmode 值为 static即可;
    • 如果页面还未生成静态,依然打开的是动态页;
    • 访问页面(不管是静态还是动态)会自动生成静态或(按设置)更新静态页;
  • 后台批量生成静态页
    • 可在后台 批量生成静态页;
    • 操作入口:后台 >> 工具 >> 系统工具 >> 系统缓存 | 静态
  • 温馨提示
    • 生成实体 html 静态:占用服务器空间,维护量大;已不提倡使用;
    • 现在的 缓存技术 和 伪静态技术非常普及,生成实体静态文件已无多大意义;
    • 自 v4.8开始,已不建议生成实体静态;

伪静态实现

  • 配置系统
    • 文件:\root\cfgs\sycfg\sy_vopcfg.php
    • 找到某一模板节点如['comm'] 下,(把注释的4行)去掉前两行注释:
    • 参考下方 配置代码
  • 配置结果
    • 这时候,你打开首页,或某动态页:查看生成的链接(不要点击),已经是伪静态链接了;
    • 理论上,有了以上配置,贴心猫系统已经配置完成!?
    • 继续点击这些 伪静态链接:可能是类似 404 错误:
    • 那就是剩下的事情 --- 配置web服务器!且看下文分解:
  • 配置代码
  '开心猫市', // Custmao
  '/home.php',
  '?', // 伪静态配置:把`.php?` ->替换为 `/`
  //'.htm', // 伪静态后缀
  //'0', // 建议不开启, 伪静态-替换第一层/home/目录,需要调整伪静态规则
  //array('/home.php','/home.htm'), //  建议为空, 伪静态首页替换;需要增加伪静态规则

提示:提取的代码块,上下文省略... 本系统的sy_vopcfg.php源码

Web服务器

  • Apache 配置
    • 复制文件:\@read\rbak\.htaccess 复制到web(或系统)根目录,可根据需要,删除不必要的注释;
    • 开启apache的url_rewrite模块; 参考链接
    • 重启web服务 即可。
  • IIS7+ 配置
    • 如需要:先下载安装 URL Rewrite;
    • 导入配置文件:在站点管理界面,找打URL重写,导入上述.htaccess文件到重写规则;
    • 重启web服务 即可。
  • Nginx 配置
    • Nginx下设置伪静态方法与Apache差不多;
      直接在nginx.conf (或者在对应的*.conf) 中找到需设置伪静态规则的服务器对应字段;
      server{ location/{ } }中添加代码;
    • 或者:自行找资料,把上述.htaccess 规则转化为Nginx规则;
      本节后面,也有参考转化工具链接;
    • 配置好,重启web服务 即可。

配置组合

  • [01]动态url模式 (屏蔽后四行):
    • eg. /home.php?news, /home.php?news.2018-88-6699
  '开心猫市', // [01]动态url模式
  '/home.php',
  //'/', // 屏蔽
  //'.htm', // 屏蔽
  • [02]Pathinfo模式 (设置第三行为'?',,第四行可有可无):
    • eg. /home.php/news, /home.php/news.2018-88-6699
  '开心猫市', // [02]Pathinfo模式
  '/home.php',
  '?', // 把`?` ->替换为 `/`
  //'.htm', // Url后缀,可有可无
  • [03]伪静态模式 (设置第三行,第四行):
    • eg. /home/news.htm, /home/news.2018-88-6699.htm
  '开心猫市', // [03]伪静态模式
  '/home.php',
  '/', // 把`.php?` ->替换为 `/`
  '.htm', // 伪静态后缀
  • 配置选择
    • 动态模式:web服务器不需要任何配置,如果是虚拟主机,没有服务器配置权限,且不支持Pathinfo,那只能选动态模式
    • Pathinfo模式:支持pathinfo即可使用(nginx默认是不支持pathinfo)
    • 伪静态模式:如果自己可自由设置服务器,或者可以设置伪静态规则方可使用
    • 如果是nginx,设置支持Pathinfo模式和伪静态模式都要设置nginx.conf,不如直接设置伪静态模式好了
  • 最后两行配置:
    • 一般建议屏蔽;需要者,根据情况开启,并设置伪静态规则
      //'0', // 建议屏蔽, 伪静态-替换第一层/home/目录,需要调整伪静态规则
      //array('/home.php','/home.htm'), //  建议为空, 伪静态首页替换;需要增加伪静态规则
  • 高级配置-再去一层目录
    • url地址如:/home/news.2018-88-8899.htm,如果需要再去掉/home/目录;
    • 上述 配置代码,启用第3行代码,设置为非零即可;
    • 提示1:伪静态规则,也要相应的修改;
    • 提示2:博客/房产:前端只有一组主要前端模板,可用此方案,
    • 提示3:企业站,因前端有多语言版,最多只能针对一个语言版本 去掉一层目录如/vcn/,建议不用此方案;
  • 高级配置-首页静态化
    • 首页如:/home.php,也要静态化;
    • 上述 配置代码,启用第4行代码,去掉//屏蔽符即可;
    • 提示4:需要增加一行伪静态规则;

工具和资源