T086ѧϰ�� | վ��ѧԺ | �����ĵ� | ���� | Ъ���� | IP��ַ��ѯ | �������� | ���ջ��� | �����ֵ� | ���ù��� | ������Ϣ��ѯ

Apache�������˰����ļ�����

�� �������ߣ����� ����ʱ�䣺2007-07-26 | ���壺�� �� С��
[����]�������˰����ṩ��һ�ֶ�����HTML�ĵ����Ӷ�̬���ݵķ�������Ҫ����ģ�� ����ָ�� mod_includemod_cgimod_expires OptionsXBitHackAddTypeSetOutputFilterBrowserMatchNoCase �������Է������˰���(Server Side Inc...
�������˰����ṩ��һ�ֶ�����HTML�ĵ����Ӷ�̬���ݵķ�����

��Ҫ
����ģ�� ����ָ�� 
mod_include
mod_cgi
mod_expires
 Options
XBitHack
AddType
SetOutputFilter
BrowserMatchNoCase
 

�������Է������˰���(Server Side Includes)��ͨ������ΪSSI�������������÷�����������SSI��������һЩ������HTMLҳ�����Ӷ�̬���ݵĻ���SSI������

���ĺ󲿽�������SSI��һЩӦ�����Ƚϸ߼������飬����SSIָ���е��������䡣


ʲô��SSI?
SSI (Server Side Includes)��HTMLҳ���е�ָ���ҳ�汻�ṩʱ�ɷ������������㣬�Զ�����HTMLҳ�����Ӷ�̬���ɵ����ݣ�������ͨ��CGI�����ṩ������ҳ�棬����ʹ��������̬������

��ʲôʱ����SSI����ʲôʱ����ijЩ������������ҳ����Ȩ�⣬ȡ����ҳ�����ж��������Ǿ�̬���ж���������Ҫ��ÿ��ҳ�汻�ṩʱ���¼��㡣SSI��һ������С����Ϣ�ĺ÷��������統ǰʱ�䡣��������ҳ���󲿷����ڱ��ṩʱ���ɵģ��Ǿ�Ҫ���ҷ����ˡ�


���÷�����������SSI
Ҫʹ����������SSI��������httpd.conf�ļ���.htaccess�ļ������������ã�

Options +Includes 

���߷����������������ļ��е�SSIָ�ע�⣬�ڶ��������У�����Optionsָ���ụ�า�ǣ����ԣ����ܱ�������ҪSSI���ض�Ŀ¼ʹ��Options����ȷ��λ�������������á�

�����������ļ��е�SSIָ��ᱻ���������ԣ���������ApacheӦ�ý�����Щ�ļ��������ַ�����ʹApache���������ض��ļ���׺���κ��ļ�������.shtml, �������£�

AddType text/html .shtml
AddOutputFilter INCLUDES .shtml 

���ַ�����ȱ��֮һ�ǣ�Ϊ��ʹ�ļ�����.shtml��׺�Ӷ�ִ�����е�ָ�������Ҫ�ı�����SSIָ�������е��ļ����Լ�����ָ����ҳ�������ӡ�

��һ�ַ����ǣ�ʹ��XBitHackָ�

XBitHack on 

XBitHack����Apache������ִ��Ȩ�޵��ļ��е�SSIָ����ˣ�ֻҪ��chmodʹ�ļ����ɿ�ִ�еģ��Ϳ��Զ����е�ҳ������SSIָ�

chmod +x pagename.html 

������Ҫ˵��һ�㣺żȻ�����������Ƽ��������ô�.shtml���ļ�����ʹApache��������.html�ļ���SSI�Ϳ����ˡ���Щ�˿���û��˵��XBitHack��Ҫ֪������������ʹApache�ڷ����ļ����ͻ���֮ǰͨ�����ļ�����ʹ���в�û���κ�SSIָ��Ӷ����ٶ��в�СӰ�죬�����Ⲣ���Ǻð취��

��Ȼ����Windows�ϣ�û�ж�Ӧ��ִ��Ȩ�޿������ã�������Ӧ�ý���ѡ����

��ȱʡ���ã�Apache����ΪSSIҳ�淢�������޸����ڻ������ݳ��ȵ�HTTPͷ����Ϊ��Щֵ�Զ�̬ҳ����˵���Լ��㡣��������ֹҳ�汻���壬���¿ͻ����������ܹ��о������½��������ֽ���������

ʹ��XBitHack Full���á�������Apache�ж������޸�����ʱ��ֻ�鿴���������ļ����������ڣ����������а������κ��ļ����޸����ڡ� 
ʹ��mod_expires�ṩ��ָ��Ϊ�ļ�����һ����ȷ�Ĺ���ʱ�䣬�������������ʹ��������ļ����Ա����塣 

����SSIָ��
SSIָ���������﷨��

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

����ʽ����HTML��ע�ͣ���������û����ȷ����SSI�����ᱻ���������ԣ�����HTML��������Ȼ�ɼ�����������ȷ������SSI������ָ���ᱻ������������

���е�Ԫ�ؿ��������࣬���ǻ�����һ���汾���ĵ����������еĴ�����������������ټ���SSI�����ӡ�

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

echoԪ�ؽ����Ƿ���һ��������ֵ����׼���������࣬���а�����CGI������Ч�����еĻ������������⣬��Ҳ������setԪ�ض�������ר�ñ�����

�����㲻ϲ�����ڵ����ִ�ӡ��ʽ��������configԪ�ص�timefmt���ԣ��ı�����ʽ��

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

�ļ����޸�����
This document last modified <!--#flastmod file="index.html" --> 

����Ԫ��Ҳ��ʹ��timefmt�ĸ�ʽ���á�

����һ��CGI����������
����SSI�ĺܳ�����һ����;-����һ��CGI��������������������ϲ����``����������''��

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


���ӵ�����
������һЩ��HTML�ĵ�ʹ��SSI���������ӡ�

�ĵ���ʲôʱ�����޸ĵ�?
��ǰ�������ᵽ��������SSI֪ͨ�û��ĵ���ʲôʱ�����޸ĵģ�����������ʵʩ����ȴ�������Ǹ����⡣���´��룬����HTML�ĵ��У�����ҳ���в���һ��ʱ��������Ȼ�����ȣ������밴��������ʹSSI��Ч��

<!--#config timefmt="%A %B %d, %Y" -->
This file last modified <!--#flastmod file="ssi.shtml" --> 

����˵����Ӧ������ʵ�����õ��ļ������滻ssi.shtml�����ԣ����������򵥵����κ��ļ���ճ��һ��ͨ�ô����Դﵽ����Ŀ�ģ����������Ͳ������㣬���ˣ��ͻ��õ�LAST_MODIFIED������

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

�й�timefmt��ʽ��ϸ�ڣ����Ե�����վ������strftime�����﷨����ͬ�ġ�

����һ����׼ע��
����������һ��ӵ������ҳ����վ�㣬���ᷢ�ֶ�����ҳ�����Ķ��Ǻ�ʹ���ģ�����������ͼ������ҳ��ά��ij�ֱ�׼�۸е�ʱ����

ʹ�ð���һ��ҳü��/��ע�ŵķ��������Լ����޸ĵĸ�������ֻҪ����һ��ע���ļ�������includeSSI����������ÿ��ҳ�棬���ɡ�includeԪ���ܰ�file���Ի���virtual�����ж�Ӧ�ð������ļ���file������һ�������ڵ�ǰĿ¼���ļ�·������������һ�������ļ�·��(��/��ͷ)��virtual���Կ��ܸ����ã�����һ�������ڱ��ṩ�ĵ���URL��������/��ͷ���������뱻�ṩ�ĵ���ͬһ����������

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

SSIָ����ע���ļ�������ʹ���Ǻ����õģ�������ע���ļ���ʹ��LAST_MODIFIEDָ�SSIָ�����Գ����ڰ����ļ��У���include����Ƕ�ף���һ�������ļ����԰�����һ����


����������
config����������ʱ����ʽ������������;��

��SSIָ�������ʱ��������������Ϣ��

[an error occurred while processing this directive] 

Ϊ�˸ı���Ϣ����ʽ������ʹ��configԪ�ص�errmsg���ԣ�

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

��Ȼ�������û���ԶҲ���ῴ��������Ϣ����Ϊ����վͶ������֮ǰ���Ѿ�����Щ���ⶼ������(������)��

������ʹ��config��sizefmt�������÷��ص��ļ���С�ĸ�ʽ�����������ֽ�Ϊ��λ����������Kb��MbΪ��λ�ļ�д��


ִ������
������δ��������������дһƪС��CGI����ʹ��SSI�����£������������exec��ʹ�á�SSIȷʵ��������shell(/bin/sh����ȷ��˵����������Win32�е�DOS shell)��ִ�������������һ��Ŀ¼�б���

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

��Windows��

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

�����ܻᷢ�֣���Windows������ָ���Ľ�����Щ���֣�dir�������а������ִ�``<dir>''������ʹ����������������

ע�⣬���������Ǽ���Σ�յģ���Ϊ����ִ���κΰ�����exec�����е���������û��п����޸�������ҳ���ݣ����硰���Ա�������ô��һ��Ҫ�ر��������ܡ���Optionsָ���м���IncludesNOEXEC�������Թر�exec���ܣ�ͬʱ�ֱ���SSI��


�߼�SSI����
���˷������ݣ�Apache SSI�������������ԱȽϺ���������ʽ�ı�����

����
���������۵Ĵ��������ܽ���Apache 1.2�����°汾����Ч�����������еIJ���Apache 1.2�����°汾�������̻��߾������������ھͶ��֣����ǻ�����Ū�����ټ������½���

����
ʹ��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}" --> 

��������ʽ
���˱������Ϳ������úͱȽ����ǵ�ֵ�Ա�ʾ������SSIҲ���˳�Ϊһ�ּ����ı������ԡ�mod_include�ṩ��if, elif, else��endif�Ƚṹ�Թ����������䣬�Ӷ���һ��ʵ�ڵ�ҳ����Ч�����ɶ����߼���ҳ�档

�����Ľṹ���£�

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

test_condition�������κ��߼��Ƚ� - ������һ��ֵ����һ��ֵ�Ƚϣ�Ҳ�����Dz���һ���ض���ֵ�Ƿ�Ϊ���桱(һ���������ִ������ǿ���Ϊ��)�������ıȽϲ������б�����mod_include�������ǿ��ܻ��õ���һЩ���ӡ�

�������ļ��У������������ã�

BrowserMatchNoCase macintosh Mac
BrowserMatchNoCase MSIE InternetExplorer 

�����ͻ�����Macintosh������Internet Explorer�����������û�������``Mac'' ��``InternetExplorer''Ϊ�档

Ȼ����������SSI���ĵ��У������������ã�

<!--#if expr="${Mac} && ${InternetExplorer}" -->
Apologetic text goes here
<!--#else -->
Cool javascript code goes here
<!--#endif --> 

��һ��Ҳ��������Mac������IE - ֻ���ϸ������һ��˺ü���Сʱ��ͼ��Mac�ϵ�IE��ʹ��javascript�������������ط�������������������ֻ��һ����ʱ����Э������

�κ���������(�������㶨���ģ������DZ�׼�Ļ�������)�����������������䡣����Apache��SetEnvIf�Լ���������ָ�����û����������˹��ܿ��Ժܺõ�ʵ�ֶ�̬ҳ��������������CGI��


�ܽ�
SSI��Ȼ��������CGI����������̬ҳ�漼������������ҳ���в����ڶ�С�͵Ķ�̬Ƭ�ε����㷽�������������������IJ�����
  • ת����ע����Դ��ITѧϰ�� ��ַ��http://www.t086.com/ �����������Ƽ�������
  • �ر������� ��վ�������ر�������ֹת�ص�ר�������������¿�������ת�أ���������ע��������ԭʼ���ߡ����°�Ȩ������ԭʼ�������С����ڱ���վת�����µĸ��˺���վ�����DZ�ʾ������л�⡣������վת�ص������а�Ȩ��������ϵ���ǣ����ǻᾡ�����Ը�����
  • ��
  • ��
  • ��
  • ��
  • ��
  • ��
  • ��
  • ��
  • ��
������ѯ Health Check Gulangyu
© 2017 T086ѧϰ�� - T086.com(ԭitlearner.com)
RunTime:8.88ms QueryTime:7