nginx配置ssi

1、什麼是SSI

SSI:Server Side Include,是一種基於服務端的網頁製做技術,大多數(尤爲是基於Unix平臺)的web服務器如Netscape Enterprise Server等均支持SSI命令。php

它的工做緣由是:在頁面內容發送到客戶端以前,使用SSI指令將文本、圖片或代碼信息包含到網頁中。對於在多個文件中重複出現內容,使用SSI是一種簡便的方法,將內容存入一個包含文件中便可,沒必要將其輸入全部文件。經過一個很是簡單的語句便可調用包含文件,此語句指示 Web 服務器將內容插入適當網頁。並且,使用包含文件時,對內容的全部更改只需在一個地方就能完成。html

2、如何在nginx上配置SSI

須要的選項主要是如下三個:nginx

ssi: 默認值off,啓用ssi時將其設爲on
ssi_silent_errors: 默認值off,開啓後在處理SSI文件出錯時不輸出錯誤提示"[an error occurred while processing the directive]"。
ssi_types: 默認是text/html,因此若是需支持html,則不須要設置這句,若是須要支持shtml則須要設置:ssi_types text/shtmlweb

三個參數能夠放在http, server或location做用域下。服務器

3、配置用例

server {
        listen       80;
        server_name  www.fn.com;

        access_log   /var/log/nginx/www.fn.log  main;
        root  /home/www.fn.com/public; 
        index  index.html index.htm index.php;

        location / {
             ssi on;
                ssi_silent_errors on;
                try_files $uri $uri/ /index.php$is_args$args;
        }

        location ~ \.php {
                root  /home/www.fn.com/public;
                fastcgi_index  index.php;
                fastcgi_pass   unix:/tmp/php-cgi.sock;
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
}
相關文章
相關標籤/搜索