生成静态页是提高网站访问速度的办法之一。静态页面不需要tomcat等servlet容器解析,直接由apache或nginx等web服务器发送html页面给浏览器,从而提高了网站访问速度,减轻服务器压力。
静态页可以在栏目中设置,也可以在模型中设置。如果栏目没有设置静态页相关属性,则读取对应模型的静态页设置。
注意:在开发环境下开启静态化设置,在访问栏目页(如:http://localhost:8080/news/
)时会出现404页面找不到
的情况。
这是因为开发环境使用spring-boot:run
启动,是嵌入式Tomcat启动模式,不支持welcome-file
,也就是访问/news/
不会自动返回/news/index.html
页面,导致找不到页面。
可将程序直接部署到Tomcat下,就不会有这样的问题了。
如果希望在开发环境下也避免这个问题,可以在下面配置中不要选择默认文档
选项,这样生成的栏目页url地址为http://localhost:8080/news/index.html
,就不会出现找不到页面的问题了。但这个地址的seo效果比http://localhost:8080/news/
差一些。
点击后台导航内容管理 - 生成管理
进入生成管理页面。
生成所有HTML
,才会生成静态页。进入栏目修改界面,可以看到静态页相关设置。如没有相关字段,可以到相应模型的系统字段中配置。
静态页设置包括栏目页静态页和文档页静态页,可以分别开启或关闭。
路径变量:
/news/{node_number}/index
,其中{node_number}
或替换成栏目编码,此处为domestic
,加上扩展名.html
,最后生成的静态页文件为/news/domestic/index.html
。.html
。/news/index
扩展名为.html
,选是默认文档则url为/news/
,否则url为/news/index.html
。只有在文档路径中的文件名为index.html
时,才能选择是默认文档,否则会出现无法访问到页面的情况,如文档路径为/news/abc
扩展名为.html
,这是选择是默认文档,则栏目url路径为/news/
,这个url显然无法访问到/news/abc.html
。/news/{node_number}/{info_id}
,其中{node_number}
和{info_id}
分别会替换成栏目编码,最后生成的静态页文件可能为/news/domestic/123.html
。.html
。内容管理 - 生成管理
处手动生成。栏目静态化没有设置的字段,或自动读取相应模型的静态化设置。在栏目较多的情况下,为了避免一个个栏目设置的繁重工作,可以直接在模型里设置静态化。
在系统管理 - 模型管理 - 栏目模型 或 首页模型
处点击修改模型。模型静态化设置与栏目静态设置含义一样,但由于模型静态化设置作用于所有相应栏目,所以文件路径必须使用变量,比如栏目文件路径/{node_number}/index
。如果不使用变量如/news/index
,则所有栏目都使用这个路径,显然是不行的。
注意:任何静态页的设置,都需要手动点击生成后,才会生成,设置后并不会自动生成静态页。但设置完成之后,新增的文章可以自动生成静态页,不用再次手动生成。
很多人会问静态页保存在哪里。静态页和图片这些静态资源都有一个特点,就是不需要经过程序处理,访问路径是什么,文件路径就是什么。如果一个图片访问路径是/upload/abc.jpg
,可能很少人会问这个图片保存在哪,其实静态页也是一样的。
首页的静态文件保存在哪?既然能作为首页访问,肯定是保存在应用的根目录,放在其他地方不可能访问到。文件名通常也是index.html
。比如程序部署在c:/tomcat/webapps/ROOT
目录下,首页的静态页就在c:/tomcat/webapps/ROOT/index.html
。
栏目页和详细页的静态文件保存位置则和之前介绍的文件路径设置有关。比如程序部署在c:/tomcat/webapps/ROOT
目录下,栏目静态页路径设置为/news/index
扩展名为.html
,那么这个栏目的url路径可能为http://localhost:8080/news/index.html
(默认文档选择否)或http://localhost:8080/news/
(默认文档选择是),文件的保存位置为c:/tomcat/webapps/ROOT/news/index.html
。