Apache mod_rewrite: объясните мне% {HTTP_HOST}, особенно при использовании аддон-доменов - PullRequest
9 голосов
/ 14 июля 2010

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://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"???

Ответы [ 2 ]

5 голосов
/ 15 июля 2010

%{HTTP_*} соответствует заголовку HTTP с именем, указанным после указанного префикса.В HTTP 1.1 доступ к хосту указан в заголовке Host, так что да.

4 голосов
/ 15 июля 2010

Ты в значительной степени угадал их все правильно!Последний будет:

main-domain.com
...