Apache mod_rewrite: объясните меня % {HTTP_HOST} expecially при использовании дополнительных доменов
Ситуация (дерево каталогов) на сервере 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
, так что да.