获取请求主机Apache htaccess的变量?

时间:2017-10-10 23:50:50

标签: apache .htaccess apache2

我有以下代码,我可以使用下面的代码来设置变量:

SetEnvIf Host (.*) custom_host=$1

我想要的是请求主机/计算机的变量。

例如,如果网站http://example.com:32/welcome正在发出请求,我希望将其作为变量?

1 个答案:

答案 0 :(得分:0)

而不是Host,您需要Referer来访问请求中发送的HTTP Referer标头。例如:

SetEnvIf Referer (.*) custom_referer=$1

但是,根据您使用的服务器端脚本语言,您很少需要将其分配给另一个变量。您通常可以根据需要直接引用它。

另请注意,可能未设置HTTP Referer标头。引荐网站和用户的浏览器都可以阻止这种情况。

<强>更新

  

如何才能拥有没有路径的协议,域和主机。

尝试将正则表达式更改为:

SetEnvIf Referer ^(https?://[^/]+) custom_referer=$1

如果Refererhttp://example.com:32/welcome,那么这只会导致http://example.com:32存储在custom_referer变量中。