Apache mod_rewrite:解释我%{HTTP_HOST},特别是在使用插件域时
具有插件域的Apache服务器上的情境(目录树):
main-domain.com/
|
|_ .htaccess (just an empty file, no rule in here)
|_ index.html (shown when accessing http://main-domain.com)
|
|_ addon-domain-1.com/
| |
| |_ .htaccess
| |_ index.html (shown when accessing http://addon-domain-1.com or http://main-domain.com/addon-domain-1.com/)
|
|_ addon-domain-2.com/
|
|_ .htaccess
|_ index.html (shown when accessing http://addon-domain-2.com or http://main-domain.com/addon-domain-2.com/)
让我们说“addon-domain-1.com/.htaccess”文件我有一些使用%{HTTP_HOST}的规则,如:
RewriteCond %{HTTP_HOST} ^something$
%{HTTP_HOST}
是否评估服务器上当前请求的URL的域?
所以如果要求:
%{HTTP_HOST} will be "addon-domain-1.com"?
http://addon-domain-1.com(没有最后的斜线)
%{HTTP_HOST} will still be "addon-domain-1.com"?
%{HTTP_HOST} will still be "www.addon-domain-1.com"?
当要求:
http://main-domain.com/addon-domain-1.com
%{HTTP_HOST} will be "main-domain.com"???
or "main-domain.com/addon-domain-1.com"???
你几乎猜对了他们!最后一个是;
main-domain.com
%{HTTP_*}
评估HTTP标头,并在显示前缀后给出名称。在HTTP 1.1中,被访问的主机在Host
头中给出,所以是的。