cấu hình và sử dụng SSI (Server Side Includes) với web server apache

  • Tổng hợp
  • 07 tháng 12 2012
  • bởi Văn Khương
  • 0 Comments

SSI là gì?

SSI viết tắt của server side include là các chỉ thị được đặt trong trang nội dung tĩnh như HTML và được thiết lập trên web server, giúp tạo ra nội dung động trong tập tin tĩnh như HTML. Để thiết lập trên web server apache bạn có thể cấu hình trên file httpd.conf hoặc cấu hình trong tập tin .htaccess, bài viết này sẽ hướng dẫn cấu hình bằng htaccess.

Trong file htaccess bạn thêm vào 2 dòng sau:

AddType text/html .html
AddHandler server-parsed .html

Bây giờ bạn có thể làm một ví dụ nhỏ, giả sử bạn có 3 tập tin HTML như sau:

header.html

<html>
<head>
  <title>Su dung va cau hinh SSI</title>
  <meta http-equiv="content-type" content="text/html;charset=UTF-8"/>
</head>
header.hmtl
<body>
  <div id="wrap">
   <div id="header">
    <h1>Phần tiêu đề</h1>
   </div> <!-- #header -->

content.html

<div id="content">
  <p>Phần nội dung</p>
</div> <!-- #content -->

footer.html

   <div id="footer">
     <i>Phần footer</i>
   </div> <!-- #footer -->
  </div> <!-- #wrap -->
</body>
</html>

Bây giờ bạn sẽ inlude các tập tin trên trong vào file index.html

<!--#include virtual="header.html" -->
<!--#include virtual="content.html" -->
<!--#include virtual="footer.html" -->

Các tập tin đã được inlude và hiển thị trên trang index như thể bạn đang dùng PHP

Cú pháp căn bản của SSI được định dạng như chú thích trong HTML nếu web server của bạn không cho phép SSI thì nó sẽ hiển thị như một chú thích trong HTML

<!--#element attribute=value attribute=value ... -->

Ví dụ đầu tiên với inlude chúng ta có 2 thuộc tính có thể dùng là "virtual" và "file", điểm khác nhau trong việc sử dụng 2 thuộc tính này là "virtual" có liên quan đến thư mục gốc còn "file" liên quan đến thư mục hiện thời của tập tin.

Ví dụ để xuất ngày tháng hiện tại

<!--#echo var="DATE_LOCAL" -->

Cấu hình ngày tháng hiện tại

<!--#config timefmt="%A %B %d, %Y" -->
<!--#echo var="DATE_LOCAL" -->

Tạo biến và xuất giá trị của biến

<!--#set var="name" value="Rich" --><!--#echo var="name" -->

Xuất một số biến đặc biệt của http

<!--#echo var="HTTP_USER_AGENT" -->

Để tìm hiểu thêm bạn có thể tham khảo tại wikipedia.orghttpd.apache.orgw3.org

  • Chia sẻ
comments powered by Disqus