<-
Apache > HTTP Server > �ĵ� > �汾2.2 > ģ��
���� ��л | �������� | ��ƪ���ߣ��𲽹� | ��ҳ�����£�2006��1��29�� | ��ȡ���°汾

Apacheģ�� mod_setenvif

˵�����ݿͻ�������ͷ�ֶ����û�������
״̬����(B)
ģ����setenvif_module
Դ�ļ�mod_setenvif.c

����

mod_setenvifģ�������������IJ�ͬ����ƥ��ָ����������ʽ�����û�����������Щ�����������ɷ���������������ʹ�á�

ָ��������������ļ��г��ֵ�˳����Ч�����Կ���ʹ�ø���ĸ������У�����������ʾ������������mozilla����MSIE�������netscape ��

BrowserMatch ^Mozilla netscape
BrowserMatch MSIE !netscape

top

BrowserMatch ָ��

˵������User-Agentͷ�����������û�������
�﷨BrowserMatch regex [!]env-variable[=value] [[!]env-variable[=value]] ...
������server config, virtual host, directory, .htaccess
������FileInfo
״̬����(B)
ģ��mod_setenvif

BrowserMatchֻ��SetEnvIf��һ���������������User-Agentͷ�����������û�����������������о�����ͬ��Ч����

BrowserMatchNoCase Robot is_a_robot
SetEnvIfNoCase User-Agent Robot is_a_robot

��������ӣ�

BrowserMatch ^Mozilla forms jpeg=yes browser=netscape
BrowserMatch "^Mozilla/[2-3]" tables agif frames javascript
BrowserMatch MSIE !javascript

top

BrowserMatchNoCase ָ��

˵�����ڲ����ִ�Сд��User-Agentͷ�����������û�������
�﷨BrowserMatchNoCase regex [!]env-variable[=value] [[!]env-variable[=value]] ...
������server config, virtual host, directory, .htaccess
������FileInfo
״̬����(B)
ģ��mod_setenvif

BrowserMatchNoCase��ͬ��BrowserMatch �������ǽ��в����ִ�Сд��ƥ�䡣���磺

BrowserMatchNoCase mac platform=macintosh
BrowserMatchNoCase win platform=windows

BrowserMatch��BrowserMatchNoCaseֻ��SetEnvIf��SetEnvIfNoCase��һ�������������������о�����ͬ��Ч����

BrowserMatchNoCase Robot is_a_robot
SetEnvIfNoCase User-Agent Robot is_a_robot

top

SetEnvIf ָ��

˵�����ݿͻ��������������û�������
�﷨SetEnvIf attribute regex [!]env-variable[=value] [[!]env-variable[=value]] ...
������server config, virtual host, directory, .htaccess
������FileInfo
״̬����(B)
ģ��mod_setenvif

SetEnvIfָ����ݿͻ��˵������������û�����������һ������attribute�����������������֮һ��

  1. һ��HTTP����ͷ��(�μ�RFC2616)�����磺Host, User-Agent, Referer, Accept-Language ��������һ��������ʽ������ƥ�䡣
  2. ������������֮һ��
    • Remote_Host Զ��������(������)
    • Remote_Addr Զ������IP��ַ
    • Server_Addr ���յ�����ķ�����IP��ַ(2.0.43���Ժ�汾)
    • Request_Method ���õ����󷽷�(GET, POST�ȵ�)
    • Request_Protocol ������ʹ�õ�Э�鼰��汾("HTTP/0.9", "HTTP/1.0", "HTTP/1.1"��)
    • Request_URI ��HTTP���������������Դ(ͨ����URL��ȥ��Э�顢�����Լ���ѯ�ַ�����ʣ��IJ���)��
  3. �г��������������Ļ������������е�һ�����⽫����SetEnvIfָ�����Ԥ��ƥ��Ľ�����в��ԡ�ֻ����Щ�ɽ����SetEnvIf[NoCase]ָ���Ļ��������ſ��԰������ַ�ʽ���ԡ�"�����"��˼�������ڸ��ϲ��������(����ȫ�ַ�Χ)�б����������ͬһ�������н�����֡�ֻ�������������δ�ܵõ�ƥ�䲢��attributeû��ʹ��������ʽ��ʱ�򣬻��������Żᱻ���ǡ�

�ڶ�������regex��һ��Perl���ݵ�������ʽ�����regex�Ǹ���attribute����ƥ��ģ���ôʣ��IJ�������������ʣ��IJ�����������Ҫ���õı����������ѡ��ֵ����ʽ���£�

  1. varname
  2. !varname
  3. varname=value

��һ����ʽ����������varname��ֵ����Ϊ"1"���ڶ�����ʽ��ɾ�������ı���varname(������)����������ʽ��Ϊ��������varname����value������ֵ����2.0.51�濪ʼ��Apache�ܹ�ʶ��value�г��ֵ�$1..$9 ���������滻Ϊregex�ж�Ӧ��ʹ����������������ģʽ��

ʾ����

SetEnvIf Request_URI "\.gif$" object_is_image=gif
SetEnvIf Request_URI "\.jpg$" object_is_image=jpg
SetEnvIf Request_URI "\.xbm$" object_is_image=xbm
:
SetEnvIf Referer www\.mydomain\.com intra_site_referral
:
SetEnvIf object_is_image xbm XBIT_PROCESSING=1
:
SetEnvIf ^TS* ^[a-z].* HAVE_TS

ǰ���������������object_is_image��������(����������ͼƬ)�����ĸ���������intra_site_referral��������(���Refererͷ����������www.mydomain.com)��

���һ���������û�������HAVE_TS(��������κ���"TS"��ʼ������ͷ�����Ҹ�����ͷ��ֵ����Сд��ĸ[a-z]��ͷ��)��

�μ�

top

SetEnvIfNoCase ָ��

˵�����ݴ�Сд�޹صĿͻ��������������û�������
�﷨SetEnvIfNoCase attribute regex [!]env-variable[=value] [[!]env-variable[=value]] ...
������server config, virtual host, directory, .htaccess
������FileInfo
״̬����(B)
ģ��mod_setenvif

SetEnvIfNoCase��ͬ��SetEnvIf �������ǽ��в����ִ�Сд��ƥ�䡣���磺

SetEnvIfNoCase Host Apache\.Org site=apache

��Ὣ��������site����Ϊ"apache"(���"Host:"����ͷ����"Apache.Org"��"apache.org"�ȴ�Сд����)��