divSign="CENTER"img src/sub"="[APACHE DOCUMENTATION]"3AHTTPSV33ke/div1Sign="CENTER"Mncludeh1>TismprovdssSSdIncludes(SSI).aourceource nclude.c<MIntrm Intrncludes_<SummTismprovdsaandlr wM profforeyrsnolin. Tpro isrolbyalyfmSGcms,erraselems.Teseelemsallowd,nclufprogram,a wellatttaprintenvim varis.Fnnrcionisopicwealsprovdahowto/."tuoralonSSdIncludes.aup;.cTaxbck">XBitHckp>Seeals:coreops">Opsimaddhandlr>AddHandlr.aES-SdIncludes2Anandlr "-paed"M bepaedbhism,if Includesopionis set.eIscoanse-sdncludesargivenx .s,followM akAparsmaagnrsimimeo/:
AddTe/ .sAddHandlr-paed .s/pre>Tfollowusbgiveniscoan f(calyn a<Dup>se, buttisisasovidafif AllowOrdOps iset): 
Ops +Includes/pre>Altrnlyexbck">XBitHck/anbeusedparsnormal(/)s, basdf permis. Fbckwardtcmpbility,smime/x--paed-or/x--paed-3 M alsbepaed(rsioutputgivenmime/).aic ElemskeTspaedaH,almmadsembeddedatSGcms. Ammad as : blockquot> <!--#elem attrbu=va ttrbu=va ...-->/blockquot>Tva M beenlosdndouquots; anmmadsnlyallowa singlttrbu-va pair. Ncm mor(amp>-->amp>) houlbeprecedytsurisn'tconsdrpartSSIoken. Tallowelemsare:dTadt>cdtdd>Tismmad ros various asptspa.T vidttrbusare:dTaTadt>rmsdtdd>Tva is misentbcko linirror occuslspa .<ddTaTadt>sizefmtdtdd>Tva ttfm tousedwsplasizea fVidvasrbyts for aun byts,abbrevor au n KbMbapproprate.<ddTaTadt>timfmtdtdd>Tva isa srousedbh srftim(3)librriewnprint ats.dd>/dl/ddTadt>echo"cho">chodtdd>Tismmad printsonencludevars">include vris, de lowIvriiunset, it iprinteas (non). Anatsprintearsubjo urrlyurimfmt. Attrbus:dTaTadt>vrdtdd>Tva isvriprint.<ddTaTadt>enoddtdd>Ss howAhoulenodalcharacs oanednvriforeoutputhem.Iseto "non", no enodM bedone.Iset"url",nURLenod(alsknownat%-enod;isis pproprateor useMnURLs inl, etc.)M be perform. Atstartchoelem,diset"ntty",rsinenttyenod(wipproprateinc a  lock-levelHelem, e.apaagrapf)Tis anbechangdbyaddanod ttrbu, wM reman neffuin nodttrbuisenurelem eds, wecmsirst.N nodttrbuuspreced orspondvrttrbuoeff, nnlyalcharacsatn  ISO-8859-1charac enodM beenoddTis enodproaynothavdsdrsia  ffer charac enodisin use.A3.12a above;previous vsdono enod.dd>/dl/ddTadt>execdtdd>Txecmmad xecusagivenshellmmad CGIcrip. TIncludesNOEXECcoreops">Opsssmmad ompletlyTvaidttrbusare:dTaTadt>cgidtdd>Tva s a (%-enoded) URLphCGIcrip. Ipahdoesnotbegina(/),n it itakn torurr. Terncbhispahis  nvokedaCGIcrip, even i woulnotnormallyrecognizeitas such.Howecoancripusbedfor CGIcrips  (M aaiasscripaias">ScripAiasorExecCGIcoreops">Op). TCGIcrip isgivenPATH_INFOnquesr(QUERY_STRING)origirest fromeclin;esecannotbeinURLpah.T ncludevrisM beacrip in addioneadarcgi."CGI/ envim.Fexample:<!--#xecgi="/gi-bin/example.gi" -->Icrip rrnLocation:nstoutput,n isM betradinanH anchor.Tncludevirual">include virualelem houlbeusednprefercoxecgi. Inparticular,if nedpassaddionargsaCGIprogram,usquesr,snnotbedone M xeccgi, butanbedone M include virual, as shownre:<!--#ncludevirual="/gi-bin/example.gi?arg=va" -->ddTaTadt>cmddtdd>T wxecugivensrus /bin/shT ncludevars">includevrisarao cma, n addioneusualsetofCGIvaris.Tusencludevirual">#nclude virualilmostalwas preferusei#xecgi#xeccmdTformr(#ncludevirual)used adarAub-rest mechanismncludefcrips. Itismuchbettesteanmananed.In addion,sopforms,ke Win32,unixwnussuxec,nnotpassargsammad n  n xec ,owisencludess in cmaTus, wlefollowwork anon-suxeccuraunix, it M notprce sdrs Win32,orwnrunnsuxec:<!--#xecmd="perl /pah/to/perlcrip arg1 arg2" -->dd>/dl/ddTadt>fsizedtdd>Tismmad printssizef,subjesizefmtorm cation.Attrbus:dTaTadt>fidtdd>Tva isa pahrcoanurr bepaed.<ddTaTadt>virualdtdd>Tva isa (%-enoded) URL-pahrcurr bepaed. Iitdoesnotbegin slash(/)n it itakn torcurr .dd>/dl/ddTadt>flastdtdd>Tismmad printslastmcationat f,subjeimfmtorm cation.Tattrbusareas ffsizecma/ddTadt>ncludedtdd>Tismmad nserttan ofinpaf. Anincludedf ssubjo usualaro. Icoan paf as coreops">Op IncludesNOEXECset, includoulcauseaprogramoexecu,n it M notbincluded;ispreventsexecuCGIcrips.OwiseCGIcrips areinvokedanormalu ompletURLgivenincma, ncludanquesr. Anttrbuslocationf; ncluisone  eattrbugivenoinclud omaTvaidttrbusare:dTaTadt>fidtdd>Tva isa pahrcoanurr bepaed. Itnnotcoan./, noranitbeanabsolutpah.Trefore,nnotncludefroutsd  root,bovurr inucr;.Tvirualttrbushoulalwasused n prefercoisone.<ddTaTadt><ncludevirual">virualdtdd>Tva isa (%-enoded) URLrcurr bepaed. TURLannotcoanasm rost,nlya pahaanopalquesr. Iitdoesnotbeginslash(/)n it i akn torurr .AURLs consucfromettrbu, outpute woulrrn iURLMreabhlin  iincludednpaoutputTusincludedfsn  bnsted.IURLs aCGIprogram,programM  bexecutsoutputnsertednplacef  inpaf. Yayncludeaquesrn aCGI url:/ <!--#ncludevirual="/gi-bin/example.gi?arg=va" --> includevirual houlbeusednprefercoxecgincludeoutputCGIprograminanH .dd>/dl/ddTadt>printenvdtdd>Tisprintsoutalistaxistvrisad irvas. StartM A3.12,alcharacs renttyenodd (cho">choelem etails)  bforebeoutputTrearenttrbus.Fexample: <!--#printenv -->Tprintenvelem s anlyinA2aabov.<dd>dt>setdtdd>Tisttva fa vari. Attrbus:dTaTadt>vrdtdd>Tvriset.<ddTaTadt>vadtdd>Tva givea vari.dd>/dlFexample:<!--#setvarcatg"va="h-->Tsetelem s anlyinA2aabov.<dd>/dl2<ncludevars">Include VriskeIn addionevrisn adarCGIenvim,searachocma, forili, oanprogramnvokedbh. dTadt>DATE_GMT/dtdd>Turr ateinGreenwMeanTim/ddTadt>DATE_LOCAL/dtdd>Turr ateinlocal im zone.<ddTadt>DOCUMENT_NAME/dtdd>Tf(excludis)f estedbhusr.<ddTadt>DOCUMENT_URI/dtdd>T(%-deoded) URLpahf estedbh usr.Nincasenstedncludef,isisnotnURLcurr .dd>Tadt>LAST_MODIFIED/dtdd>Tlastmcationat estedbusr.<ddTadt>USER_NAME/dt dd>Coans ownr tf wincluded.dd>Ta/dl2Vri SubsttuVri substtuisone Mnquotdsrsn mostaswrey ayreasoy occuaargoanSSI. Tisincludesamp>camp>,amp>execamp>,amp>flastamp>,amp>fsizeamp>,amp>ncludeamp>,amp>setamp>, wellatargsdoperors. Yaninsertaliteralollar sgninsrusbckslashquot<
<!--#fexpr$a = \$est" -->/pre>Ifa varierncneds tosubsttunmiddl fa charac secmightwisebnsdravaidintrntsown right, it anbeambigubyenloserncn brs,àlashellsubsttu<
<!--#setvarZed"va="${REMOTE_HOST}_${REQUEST_METHOD}" -->/pre>TisM rsinamp>Zeamp>vriseo "amp>X_Yamp>"if amp>REMOTE_HOSTamp>is"amp>Xamp>"amp>REQUEST_METHODamp>is"amp>Yamp>".EXAMPLE:lowexampleM prn"n foo"if DOCUMENT_URIis/foo/f.,"n bar"if it i/bar/f."n nei"wise<
<!--#fexpr\"$DOCUMENT_URI\" = \"/foo/f.\"" --> infoo<!--#liexpr\"$DOCUMENT_URI\" = \"/bar/f.\"" --> inbar<!--#lse--> innei<!--#df -->/pre>flowctrl"flowctrl">FlowCroElemskeTsearanA2aabov. Tbic flowroelemsare: 
<!--#fexprest_d" --> <!--#liexprest_d" --> <!--#lse--> <!--#df -->/pre>Tielem orkske f semn aprogrammlangug. Testd ievaafrs itru,n uinli,lse.ordfelem iincludednoutputsream.<Tliorlse sems arebeusedputinoutputsreamforigiest_dasfse.Teseelemsaropal.<Tdfelem edsielem s rd.est_disonefollowdTadt>sr//dtdd>truif sr/isnotempty/ddTadt>sr1/= sr2Comparsr1r2.Isr2 as orm/sr/nit icompardaregularexpres.Rgularexpresshavas ose fon Unixamp>egrepamp>cma/ddTadt>( est_d)/dtdd>truif est_distru/ddTadt>! est_d/dtdd>truif est_disfse/ddTadt>est_d1/&&est_d2/dtdd>truif bo est_d1/ad est_d2aretrue/ddTadt>est_d1/||est_d2/dtdd>truif eiest_d1/orest_d2istru/ddTa/dlp>"=" "!=" binmoreightly"&&" "||"."!" binsightlyTus, followreival<
<!--#fexpr$a = est1&& $b = est2" --> <!--#fexpr($a = est1)&& ($b = est2)" -->/pre>Anng's notrecognizedavrinoperorireatedasr. Srsanalsbequotd:'sr'.Unquotdsrsan'tcoants(blanks abs)becauseiiusedsepaokens suchasvaris.Imiplesrsarfn row,yrcatnatedusblanks. So,<
 sr1sr2rssn sr1sr2'sr1sr2'rssn sr1sr2/pre>UsSSdIncludesErrorDskeTr ismisc/custom_rrordocs."awecribs howousefer;ncludeoffer intrnalizedcustomized rror s. xbck"xbck">XBitHck2MXBitHckn|off|fullDMDXBitHckffc,virualost,aOrdOrdOpsmncludeTXBitHckros padas. Tisnlyaffsfassoci MIMEe/.XBitHckanakfollowvasdTadt>ffdtdd>Noalreatofexecuiles.ddTadt>dtdd>Anyf as usr-xecubsetM be reatedas-paed .ddTadt>fulldtdd>Asbutalsestgroup-xecub.If it iset, nsetLast-med at  rrnf belastmedifIf tisnotset, nnolast-med atisent. Sttisballowslins proxs rs rest. mN woulnotwanouseis,fexample,wn#ncludeCGIprocesffer outputn eat (poalydepedsnt).<dd>/dlp>ke3Sign="CENTER"AHTTPSV33ke./img src/in"="I"img src/h"="Ho/ ody/!DOCTYPE  PUBLIC "-//W3C//DTD X1.0 Tra//EN"://www.w3.org/TR/x1/DTD/x1-tra.dtd" xmlns="://www.w3.org/1999/x"metgor"="HTidwww.w3.org"Anfo