Nginx ssi合并頁面的具體實現(xiàn)
在做一個網(wǎng)站時,頁面上會有很多重復(fù)的內(nèi)容,每個頁面寫一遍很冗余,修改時還容易遺漏,所以可以把公共的部分寫好,放在單獨的HTML中,用時引用就行了。
nginx配置ssi可以將單個頁面拆分成一個一個的小頁面,訪問頁面時將多個子頁面合并渲染輸出,通過cms去管理這些小頁面,實現(xiàn)當(dāng)要更改部分頁面內(nèi)容時只需要更改具體某個小頁面。
1. 什么是SSI
SSI:Server Side Include,是一種基于服務(wù)端的網(wǎng)頁制作技術(shù),大多數(shù)(尤其是基于Unix平臺)的web服務(wù)器如Netscape Enterprise Server等均支持SSI命令。
它的工作原因是:在頁面內(nèi)容發(fā)送到客戶端之前,使用SSI指令將文本、圖片或代碼信息包含到網(wǎng)頁中。對于在多個文件中重復(fù)出現(xiàn)內(nèi)容,使用SSI是一種簡便的方法,將內(nèi)容存入一個包含文件中即可,不必將其輸入所有文件。通過一個非常簡單的語句即可調(diào)用包含文件,此語句指示 Web 服務(wù)器將內(nèi)容插入適當(dāng)網(wǎng)頁。而且,使用包含文件時,對內(nèi)容的所有更改只需在一個地方就能完成。
2. nginx 配置ssi實現(xiàn)
以一個頁面為例,將其拆分為
index.html 首頁主體內(nèi)容 include/header.html 頭部區(qū)域 include/banner.html 輪播圖區(qū)域 include/footer.html 頁面尾部區(qū)域
index.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <!--#include virtual="/include/header.html"--> <!--#include virtual="/include/banner.html"--> <h1>這是主頁面的body</h1> <!--#include virtual="/include/footer.html"--> </body> </html>
header.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h1>這是header區(qū)域</h1> </body> </html>
banner.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h1>這是輪播圖區(qū)域</h1> </body> </html>
footer.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h1>這是尾部區(qū)域</h1> </body> </html>
配置nginx.conf
worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name localhost; # 開啟ssi ssi on; ssi_silent_errors on; location / { # 這里路徑記得修改 root D:\\imooc\\test; index index.html index.htm; } } }
重啟nginx
nginx -t nginx -s reload
訪問頁面如下圖所示
可以看到 在訪問index.html時將其他的幾個頁面中的內(nèi)容也輸出到了index.html
主要步驟如下
1. 編寫子頁面
2. 使用<!--#include virtual="/include/header.html"--> 將子頁面插入到主頁面中
3. 配置nginx 開啟ssi
nginx 中的ssi的配置參數(shù)如下:
ssi on: 開啟ssi支持 ssi_silent_errors on:默認為off,設(shè)置為on則在處理SSI文件出錯時不輸出錯誤信息 ssi_types:默認為 ssi_types text/html,如果需要支持shtml(服務(wù)器執(zhí)行腳本,類似于jsp)則需要設(shè)置為ssi_types text/shtml
到此這篇關(guān)于Nginx ssi合并頁面的具體實現(xiàn)的文章就介紹到這了,更多相關(guān)Nginx ssi 合并頁面內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Nginx反向代理出現(xiàn)502?Bad?Gateway問題解決
在配置Nginx反向代理時遇到502 Bad Gateway錯誤,經(jīng)過排查發(fā)現(xiàn)是SSL握手問題,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-10-10Nginx服務(wù)器進程數(shù)設(shè)置和利用多核CPU的方法
這篇文章主要介紹了Nginx服務(wù)器進程數(shù)設(shè)置和利用多核CPU的方法,這樣便可以更大限度地提高Nginx運行效率,需要的朋友可以參考下2015-08-08nginx+tomcat實現(xiàn)Windows系統(tǒng)下的負載均衡搭建教程
下面小編就為大家分享一篇nginx+tomcat實現(xiàn)Windows系統(tǒng)下的負載均衡搭建教程,具有很好的參考價值,希望對大家有所幫助2017-12-12