<-
Apache > HTTP Server > Documentation > How-To / Tutorials

ÄÄ ÅõÅäó: Server Side Includes ÒƩ 3c5e44

ƢÉÇÑ î:  ko 

ÀÌ Â ÃÖÅÇ ÀÌ ÕÏÙ. ÃÖÙ ¯ƩµÈ »ëÀ µî ¦ ÂüíÇÏä.

Server-side includes¦ »çëÇÏ© HTML µÀûÀÎ »ëÀ» ÃƢÇÒ ö ÀÖÙ.

 Apache!

Âüí 251y31

top

ÒƩ 6b5k3m

ÀÌ ÛÀ Åë SSIóí Σ Server Side Includes¦ íÇÑÙ. SSIƢ ƢÉÇϵµÏ ö¦ ÁÇÏ ýú HTML äÀÌÁö µÀûÀÎ »ëÀ» ÃƢÇÏ â»ÀûÀÎ SSI »çëýÀ» ÒƩÇÑÙ.

ÀÌ ÛÀÇ µÎÀ SSI ÁöÃî ÁҡÇú ơÀ íâýÀ» íÇÑÙ.

top

SSIƢ «ùÀÎƢ? l4q5r

SSI (Server Side Includes) HTML äÀÌÁö »çëÇÏ ÁöÃîÎ, äÀÌÁö¦ ñÇÒҡ öƢ ÃÇÑÙ. SSI¦ »çëÇÏé CGI ÇÁÎ¥ÀÌ Ù¥ µÀûÀÎ âúÎ äÀÌÁö Àüæ µéî ñÇÏÁö Êíµµ HTML äÀÌÁö µÀûÀÎ »ýÇÑ »ëÀ» ÃƢÇÒ ö ÀÖÙ.

SSI¦ »çëÇÒÁö Ïé ÇÁÎ¥ÀÎ äÀÌÁö Àüæ »ýÇÒÁö áÁÀ äÀÌÁö ÁÀûÀÎ ÎÀÌ ÀÁöÍ äÀÌÁö¦ ñÇÒ ҡעҢÙ îÀÁµµ¦ Ùà è»êÇÇÒÁö ÈÙ. SSI ÇöÀç ãú ơÀÌ ÀûÀ Á¦ ÃƢÇϵ¥ ÁÁÙ. ¯ äÀÌÁö¦ ñÇÒҡ äÀÌÁöÀÇ ëÎÀ» »ýÇ ÇÑÙé Ù¥ ýÀ» ãÁ ÇÑÙ.

top

SSIƢ ƢÉÇϵµÏ ö ÁÇÏâ 1j2u2h

öƢ SSI¦ ÃÇÏÁé apache2.conf ÄÀÏÀÌ .htaccess ÄÀÏ ÙÀ ÁöÃî¦ »çëÇ ÇÑÙ.

Options +Includes

¯é ÄÄ ÄÀÏ SSI ÁöÃî¦ ÃÇÑÙ. Á Åë ©¯ Options ÁöÃîƢ ÀÖí, ÀÌ ÁöÃîµéÀ Î µîá «ÈÎ µéÙ. ÁöÃî¦ ÇÁö ÃÇÏâÀÇ Åë SSI¦ ÇÏ ¯Á µÅä碯 Options¦ »çëÇÑÙ.

µç ÄÀÏ SSI ÁöÃî¦ ÃÇÏ ÍÀ ÏÙ. ÄÄÔ îҩ ÄÀÏÀ» ÃÇÒÁö ËÁÁà ÇÑÙ. µÎƢÁö ýÀÌ ÀÖÙ. ÇÏ ÙÀú ơÀ ÁöÃîÎ .shtmlú ơÀ ¯Á ÄÀÏ ÈÀåÀÚ¦ ƢÁ ÄÀÏÀ» ÃÇÏ ýÀÌÙ.

AddType text/html .shtml
AddOutputFilter INCLUDES .shtml

ÀÌ ýÀÇ ÜÁÀ ÀÌÌ ÀÖ äÀÌÁö SSI ÁöÃî¦ ÃƢÇÏ Ʃì SSI ÁöÃî¦ ÃÇÏâÀÇ .shtml ÈÀåÀÚ¦ ΩÇÏâҡש碯 ÄÀÏíú ÀÌ äÀÌÁöÀÇ µç µÅ©¦ ¯ƩÇ ÇÏ ÁÀÌÙ.

Ù¥ ýÀ XBitHack ÁöÃî¦ »çëÇÏ ýÀÌÙ.

XBitHack on

XBitHack ÇÇàÇÇÑÀÌ ÀÖ ÄÀÏ SSI ÁöÃî¦ ÃÇÑÙ. ÀÌÌ ÀÖ äÀÌÁö SSI ÁöÃî¦ ÃƢÇÑÙé ÄÀÏíÀ» ¯ƩÇÏÁö Êí chmodÎ ÄÀÏ ÇÇàÇÇÑÀ» ÁÖé µÈÙ.

chmod +x pagename.html

ÇÏÁö » ÇÒ Í ÇÏ. Ƣû .shtml ÄÀÏí ñĦ ÎÁö»í µç .html ÄÀÏÀ» SSI ÃÇÏóí ÃíÇÏ »çҡÀÌ ÀÖÙ. ÀÌ »çҡµéÀ µµ XBitHack ëÇ £Â Í ơƢÙ. íÉÇÒ ÁÀ ÀÌÔ ÇÏé ÄÄ ÄÀÏ SSI ÁöÃîƢ õóµµ Å¬óÀÌ硤Î »Â µç ÄÀÏÀ» »ììÁ ÇÑÙ ÍÀÌÙ. ÉÀÌ Åì ÀÁÁú ö ÀÖÀç, ÁÁÀ »ý¢ÀÌ ÏÙ.

ơ À©µµìÁî ÇÇàÇÇÑÀÌõ ÍÀÌ âҡש碯 ÈÄÀÚ¦ »çëÇÒ ö Ù.

»ëÀÌ µÀûÀÌ© è»êÇÏâ îâҡש碯 ÄÄ â» ÁÀ SSI äÀÌÁöÀÇ ÃÖÙöÁÀÏú content length HTTP Çìõ¦ »Áö ÊÂÙ. ¦ ĬÇÏÁö ÇÏí ŬóÀÌƢ À¢Â ÉÀÌ ҩîÁÙ. µÎƢÁö ÇáýÀÌ ÀÖÙ.

  1. XBitHack Full ÁÀ »çëÇÑÙ. ¯é ÄÄ ÇÔÇÏÂ(include) ÄÀϵéÀÇ öÁÀÏÀ «ÃÇÑà äûÇÑ ÄÀÏÀÇ ¯Â¥ í ÃÖÙöÁÀÏÀ» ËÙ.
  2. mod_expires ÀÖ ÁöÃî¦ »çëÇÏ© ÄÀÏ ÁÁ¢ âÀÏÀ» ÁÇÏé êóìÀúÍ ÇÁÏÃƢ ¦ ĬÇÒ ö ÀÖÙ.
top

â» SSI ÁöÃî g6i2m

SSI ÁöÃîÀÇ »çëýÀ ÙÀú ơƢÙ.

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

HTML ÁÖơÀÌ »ýåâҡש碯 SSI âÉÀ» ƢµÇÏÁö ʵµ HTML Ò ÀÁö êóìÀú «ÃÇÑÙ. SSI¦ ÃÙÎ ÁÇÏé ÁöÃî¦ áúƨÀÎ ÙÛÙ.

element ÙÀÁ ÇÏÙ. ÙÀ È õ ÀÚÈ íÇÒ ÍÀÌÙ. ÁöÝÀ SSIÎ ÇÒ ö ÀÖ îƢÁö ¦ ÀÎÙ

Àà ¯Â¥ 5b4833

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

echo element ¯öƨÀ» ëÎ ÃâÂÇÑÙ. CGI ÇÁÎ¥ Á¦ƩÇÏ ȯƩ¯öµé ܵµ ©¯ Ç¥Á ¯öƢ ÀÖÙ. Ç, set element¦ »çëÇÏ© ÁÁ¢ ¯ö¦ ÁÀÇÇÒ öµµ ÀÖÙ.

¯Â¥ Ãâ ÇüÄÀÌ À µéÁö ÊÂÙé, ÙÀú ơÀÌ config elementÀÇ timefmt attribute¦ »çëÇÑÙ.

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

ÄÀÏÀÇ öÁÀÏ 11585j

ÀÌ Â <!--#flastmod file="index.html" --> ÁöÀÎ öÁµÇúÙ

ÀÌ elementµµ timefmt ÇüÄ Á ÈÙ.

CGI ÇÁÎ¥ áú¦ ÇÔÇÏâ 3q103s

ÀÏÝÀûÀÎ SSI »çëýÁ ÇÏÎ, À̵é ÖëÇÏ ``ö Ä«îÅÍ'' ơÀ CGI ÇÁÎ¥ áú¦ ÃâÂÇÑÙ.

<!--#include virtual="/cgi-bin/counter.pl" -->

top

ÃƢ Á¦ 483l6w

ÙÀÀ HTML »çëÇÒ ö ÀÖ îƢÁö SSI Á¦Ù.

ÀÌ Ƣ Á¦ ÁöÀÎ öÁµÇú? 3a231h

Õ SSI¦ »çëÇÏ© »çëÀÚÔ ÀÇ ÃÖÙöÁÀÏÀ» Ë ö ÀÖÙí »ÇÙ. ¯ ÇÁ¦ ýÀ ËÁÁÖÁö ÊÒÙ. ÙÀ ÄÚµå¦ HTML »çëÇÏé äÀÌÁö ã âÏÀ» äÙ. ơ Àע íÇÑëÎ SSIƢ ÃÙÎ ÀÛµÇ ÇÑÙ.

<!--#config timefmt="%A %B %d, %Y" -->
ÀÌ Â <!--#flastmod file="ssi.shtml" --> ÁöÀÎ öÁµÇúÙ;

ơ ssi.shtmlëÅ ÇÏ ÇÁ¦ ÄÀÏíÀ» »çëÇÑÙ. « äÀÌÁöóµµ Ù©ÖÀ» ö ÀÖ üëÄÚµå¦ ÇÑÙé, ÄÀÏí ëÅ LAST_MODIFIED ¯ö¦ »çëÇÑÙ.

<!--#config timefmt="%D" -->
This file last modified <!--#echo var="LAST_MODIFIED" -->

timefmt ÇüÄ ëÇÑ ÀÚÇÑ Á ˻ö£Á strftimeÀ» ãÁó. ýÀ ơƢÙ.

Ç¥Á äÀÌÁö ÇÏÜÀ» ÇÔÇÏâ 3y262

©¯ äÀÌÁöƢ ÀÖ »çÀÌ碬¦ üÇÑÙé äÀÌÁö Àüæ öÁÇÏ ÍÀ, ¯È äÀÌÁöµéÀÌ Ç¥Á ÜüÀ» ƢÁöµµÏ öÁÇÏ ÍÀ Á»Î «ÓÙ.

äÀÌÁö »óÜ(header)ú ÇÏÜ(footer)À» ÄÀÏÎ ÇÔÇÏ© ÀÌ öÁÀÇ ÎãÀ» ú ö ÀÖÙ. µç äÀÌÁö include SSI íÉî¦ »çëÇÏ© äÀÌÁö ÇÏÜ ÄÀÏ ÇϦ ÇÔÇÏé µÈÙ. include elementÀÇ file attribute virtual attributeÎ ÇÔÇÒ ÄÀÏÀ» ÁöÁÇÑÙ. file attribute ÇöÀç µÅä碯 »óëÀûÀÎ ÄÀÏƩÎÙ. Áï, (/Î ÃÀÛÇÏÂ) ÀýëÄÀÏƩÎ ƩÎ È ../¦ »çëÇÒ ö Ù. µµ ñÇÏ ÀÇ »óë URLÀ» ÁöÁÇÒ ö ÀÖ virtual attributeƢ õ À¯ëÇÒ ÍÀÌÙ. ƩΦ /Î ÃÀÛÇÒ ö ÀÖÁö, ÇÔÇÏÁ ÄÀÏÀÌ ñÇÏ ÄÀÏú ơÀ ö ÀÖî ÇÑÙ.

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

 Åë ÀÌ µÎƢÁö¦ ÇÕÃÄ ÇÔÇÒ äÀÌÁö ÇÏÜ ÄÀÏ LAST_MODIFIED ÁöÃî¦ ÖÂÙ. ÇÔÇÏÁ ÄÀϵµ SSI ÁöÃîƢ à ö ÀÖÀç, ÀÌÔ ÇÔÇÑ ÄÀÏÀÌ Ù¥ ÄÀÏÀ» ÇÔÇÏ ÄÀÎ ©¯ èÓ ÇÔÇÒ öµµ ÀÖÙ.

top

ÀÌÜ ÁÇÒ ö ÀÖÂ ÍÀ? 5h424

ã ÇüÄ config(Á) Ü µÎƢÁö¦ õ config(Á)ÇÒ ö ÀÖÙ.

Åë SSI ÁöÃîƢ ÀµÇé ÙÀú ơÀ 硾Ƣ ÂÙ

[an error occurred while processing this directive]

ÀÌ 硾¦ ¯ƩÇÏí ÍÙé config elementÀÇ errmsg attribute¦ »çëÇÏ© ¯ƩÇÑÙ.

<!--#config errmsg="[It appears that you don't know how to use SSI]" -->

»çÀÌ碬¦ ñÇÏâ Àü µç SSI ÁöÃî Á¦¦ ÇáÇÏ© »çëÀÚƢ ÀÌ 硾¦ Áö Ê ÙõÙ. (Áö?)

í sizefmt attributeƢ ÝȯÇÏ ÄÀÏÅ©â ÇüÄÀ» config(Á)ÇÒ ö ÀÖÙ. ÙÀÌ硤Πũ⦠©ÁÖÁé bytes, ÀûÀýÈ Kb MbΠũ⦠©ÁÖÁé abbrev¦ »çëÇÑÙ.

top

íÉî ÇÇàÇÏâ 5df5n

 ÙÀ ÀÛÀ CGI ÇÁÎ¥ú SSI¦ ơÀÌ »çëÇÏ ÛÀ» µ ÁÀÌÙ. ÁöÝÀ exec elementÎ ÇÒ ö ÀÖ ٥ ͵éÀ» íÇÒ ÍÀÌÙ. SSI ÇÁ¦ ©À» (ÁÈÈ /bin/sh Win32¦ »çëÇÑÙé DOS ©) »çëÇÏ© íÉî¦ ÇÇàÇÑÙ. ¦ µéî, ÙÀÀ µÅä ñÏÀ» ©ÁÙ.

<pre>
<!--#exec cmd="ls" -->
</pre>

or, on Windows

<pre>
<!--#exec cmd="dir" -->
</pre>

dir Ãâ êóìÀúƢ È¥µÇÒ ``<dir>'' ÀÚÀÌ ÇÔµÇÀÖâҡש碯, À©µµìÁî ÀÌ ÁöÃî¦ »çëÇÏé áúƢ ÁҡÝ ÀÌ»óÇÒ ÍÀÌÙ.

ÀÌ âÉÀ exec Å »çëÇÑ îҩ íÉîóµµ ÇÇàÇÒ ö ÀÖâҡש碯 Åì ÀÇèÇÏÙ. ``íÏ''ú ơÀÌ »çëÀÚƢ À¥äÀÌÁö »ëÀ» öÁÇÒ ö ÀÖ ȯƩÀÌóé, ÀÌ âÉÀ» ÀýëÎ »çëÇ ÈµÈÙ. Options ÁöÃî IncludesNOEXEC ÔÕ碬¦ »çëÇÏ© SSI¦ ÇãëÇÏÁö exec âÉÀ» À» ö ÀÖÙ.

top

í SSI âý 1m5s53

»ëÀ» ÃâÂÇÏ âÉ Ü ÄÄ SSI ¯ö ÁÀÌ ƢÉÇÏí, ñú ÁҡÇ碯 ÀÌ ¯ö¦ »çëÇÒ ö ÀÖÙ.

Ʃí g1w5c

ÀÌ Û íÇÏ ëÎÀÇ âÉÀ ÄÄ 1.2 ÀÌÈÄÎÅÍ »çëÇÒ ö ÀÖÙ. ơ, ÄÄ 1.2 ÀÌ»óÀ» »çëÇÏÁö ÊÂÙé µµ » À̵åÇ ÇÑÙ. Çó. ÁöÝ Çó. âÙ ÍÀÌÙ.

¯ö Á 4f6v5l

set ÁöÃî¦ »çëÇÏ© Á »çëÇÒ ¯ö¦ ÁÇÒ ö ÀÖÙ. ÕÀÎ ¯öƢ ÇÊäÇÏâҡש碯 ÕÀú íÇÑÙ. ýÀ ÙÀú ơƢÙ.

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

ÙÀú ơÀÌ ƨÀ» ÀÚëÎ ÁÇÏÁö Êí ȯƩ¯ö Àע íÇÑ ¯ö(¦ µéî, LAST_MODIFIED)Í ơÀÌ Ù¥ ¯ö¦ »çëÇÏ© ¯öƨÀ» ÁÇÒ öµµ ÀÖÙ. ÀÌҡ ¯öí Õ ¯ Ç¥Ã($)¦ Ù© ÀÚÀÌ Ñ ¯öÀÓÀ» Ç¥ÃÇÑÙ.

<!--#set var="modified" value="$LAST_MODIFIED" -->

¯öƨ ¯ ÀÚ¦ ëÎ ÀÔÂÇÏÁé ¯ Ç¥Ã Õ é¬¦ »çëÇÑÙ.

<!--#set var="cost" value="\$100" -->

ÁöÀÎ ä ÀÚ Á£ ¯ö¦ »çëÇϵ¥ µÚ ÀÖ ÀÚµµ ¯öíÀÎ ÀÀÎÇÏ© È¥µµÇ Ʃì, ¯öíÀ» ëýȣΠî ÈÇÈ ÇÑÙ. (ÁÁÀ ¦ ãâ ÈûµéÁö, « »ÀÎÁö ÀÌÇÇÏ ÙõÙ.)

<!--#set var="date" value="${DATE_LOCAL}_${DATE_GMT}" -->

ÁҡÇ Ç¥ÇöÄ e5j4r

¯ö¦ ÁÇÏí ñÇÒ ö ÀÖÀÏ ÁҡÇÀÌ ƢÉÇÏÙ. ÀÌÁ¦ SSIƢ ÀÏÁÀÇ £ÜÇÑ ÇÁÎÖîƢ µÈÙ. mod_include ÁҡÇÀ» µå if, elif, else, endif ÁҢ¦ Á¦ƩÇÑÙ. ÇÁ¦ ÇÑ äÀÌÁöÎ ©¯ íÀûÀÎ äÀÌÁö¦ µé ö ÀÖÙ.

ÁҡÇ ÁҢÂ ÙÀú ơƢÙ.

<!--#if expr="test_condition" -->
<!--#elif expr="test_condition" -->
<!--#else -->
<!--#endif -->

test_condition îҩ í稬ñóµµ »çëÇÒ ö ÀÖÙ. ƨÀ» Ù¥ ƨú ñÇÏÅ, ¯Á ƨÀÌ ``Âü''ÀÎÁö Ë»çÇÑÙ. (ÀÚÀÌ ñîÀÖÁö ÊÀé ÂüÀÌÙ.) »çëƢÉÇÑ ñ ¬»êÀÚ¦ µÎ Áé, mod_include ¦ ÂüíÇÏó. ÙÀÀ ÁҡÇÀ» »çëÇÑ îƢÁö Á¦Ù.

ÁÄÀÏ ÙÀ ÁÙÀ» ÃƢÇÑÙ.

BrowserMatchNoCase macintosh Mac
BrowserMatchNoCase MSIE InternetExplorer

ŬóÀÌƢ ÅÅäà ÇÇàÇÏ Internet Exploreróé ȯƩ¯ö ``Mac''ú ``InternetExplorer'' µÎ ÂüÀÎ ÁÇÑÙ.

í SSI ÙÀú ơÀÌ ÀûÂÙ.

<!--#if expr="${Mac} && ${InternetExplorer}" -->
©â »çúƢ ÂÙ
<!--#else -->
©â ÚÁ JavaScript ÄÚµåƢ ÂÙ
<!--#endif -->

»Ƣ ÅÅÅäà IE ÝơÀÌ ÀÖ ÍÀ ÏÙ.  ÜÁö ÀúÁÖ Ù¥ ơ Á¦Ƣ  JavaScript ÄÚµåƢ ÅÅÅäà IE µÀÛÇÏÁö Ê îãÀ» í»ýÇÙ. Àע ÀÓà ÇáÃ¥ÀÌÙ.

(ÁÁ¢ ÁÀÇÇÏÇ ÀÏÝ È¯Ʃ¯öÀÌÇ) îҩ ¯öóµµ ÁҡÇ碯 »çëÇÒ ö ÀÖÙ. óÄ SetEnvIf Ù¥ üà ÁöÃîΠȯƩ¯ö¦ ÁÇÒ ö ÀÖâҡש碯 CGI À̵µ ÚÁöÔ µÀûÀÎ »ëÀ» µé ö ÀÖÙ.

top

á 4t4q1s

SSI ÈÇÈ CGI µÀûÀÎ À¥äÀÌÁö¦ »ýÇÏ ٥ âúÀ» ëÃÇÒ ö Ù. ¯ À ÃƢ ÀÛÀÌ äÀÌÁö µÀûÀÎ »ëÀ» ÁҡÝ ÃƢÇÏâ ÈÇ¢ÇÑ ýÀÌÙ.

ƢÉÇÑ î:  ko 

top

Comments 2p1l6j

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our s if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.