Nginx ssi合并頁面的具體實現(xiàn)
在做一個網(wǎng)站時,頁面上會有很多重復的內(nèi)容,每個頁面寫一遍很冗余,修改時還容易遺漏,所以可以把公共的部分寫好,放在單獨的HTML中,用時引用就行了。
nginx配置ssi可以將單個頁面拆分成一個一個的小頁面,訪問頁面時將多個子頁面合并渲染輸出,通過cms去管理這些小頁面,實現(xiàn)當要更改部分頁面內(nèi)容時只需要更改具體某個小頁面。
1. 什么是SSI
SSI:Server Side Include,是一種基于服務端的網(wǎng)頁制作技術,大多數(shù)(尤其是基于Unix平臺)的web服務器如Netscape Enterprise Server等均支持SSI命令。
它的工作原因是:在頁面內(nèi)容發(fā)送到客戶端之前,使用SSI指令將文本、圖片或代碼信息包含到網(wǎng)頁中。對于在多個文件中重復出現(xiàn)內(nèi)容,使用SSI是一種簡便的方法,將內(nèi)容存入一個包含文件中即可,不必將其輸入所有文件。通過一個非常簡單的語句即可調(diào)用包含文件,此語句指示 Web 服務器將內(nèi)容插入適當網(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,設置為on則在處理SSI文件出錯時不輸出錯誤信息 ssi_types:默認為 ssi_types text/html,如果需要支持shtml(服務器執(zhí)行腳本,類似于jsp)則需要設置為ssi_types text/shtml
到此這篇關于Nginx ssi合并頁面的具體實現(xiàn)的文章就介紹到這了,更多相關Nginx ssi 合并頁面內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Nginx反向代理出現(xiàn)502?Bad?Gateway問題解決
在配置Nginx反向代理時遇到502 Bad Gateway錯誤,經(jīng)過排查發(fā)現(xiàn)是SSL握手問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2024-10-10
nginx+tomcat實現(xiàn)Windows系統(tǒng)下的負載均衡搭建教程
下面小編就為大家分享一篇nginx+tomcat實現(xiàn)Windows系統(tǒng)下的負載均衡搭建教程,具有很好的參考價值,希望對大家有所幫助2017-12-12

