Apache mod_rewrite:解释我%{HTTP_HOST},尤其是在使用插件域时

问题描述 投票:9回答:2

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"???
apache mod-rewrite dns add-on http-host
2个回答
4
投票

你几乎猜对了他们!最后一个是;

main-domain.com

5
投票

%{HTTP_*}评估HTTP标头,并在显示前缀后给出名称。在HTTP 1.1中,被访问的主机在Host头中给出,所以是的。

© www.soinside.com 2019 - 2024. All rights reserved.