以下重写条件之间是否存在任何差异(细微或其他):
RewriteCond %{HTTP_HOST} ^www.mysite.co.uk$
和
RewriteCond %{HTTP:Host} ^www.mysite.co.uk$
在第二个示例中,我通过指定 HTTP 标头名称来访问主机名:Host
。
从表面上看,它们的行为似乎完全一样,如果我出现将日志重写为3
日志文件显示相同的活动。
只是?%{HTTP_HOST}
的同义词%{HTTP:Host}
,例如,%{HTTP_HOST}
已经提前填充/绑定,而%{HTTP:Host}
可能会招致查找惩罚 ?
答案1
它们是同义词。参见引文mod_rewrite 文档以下:
关于服务器变量如HTTP_HOST
:
These variables all correspond to the similarly named HTTP MIME-headers,
C variables of the Apache server or struct tm fields of the Unix system.
Most are documented elsewhere in the Manual or in the CGI specification.
关于HTTP:variable
:
%{HTTP:header}, where header can be any HTTP MIME-header name, can always
be used to obtain the value of a header sent in the HTTP request.