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}
Так что если спрашивать:
http://addon -domain-1.com /
%{HTTP_HOST} will be "addon-domain-1.com"?
http://addon -domain-1.com (без последней косой черты)
%{HTTP_HOST} will still be "addon-domain-1.com"?
http://www.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"???
%{HTTP_*} соответствует заголовку HTTP с именем, указанным после указанного префикса.В HTTP 1.1 доступ к хосту указан в заголовке Host, так что да.
%{HTTP_*}
Host
Ты в значительной степени угадал их все правильно!Последний будет:
main-domain.com