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

SetEnvIf Host (.*) custom_host=$1

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

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

最佳答案

除了Host外,您还需要Referer来访问在请求中发送的HTTP Referer header 。例如:

SetEnvIf Referer (.*) custom_referer=$1

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

另请注意,可能未设置HTTP Referer header 。推荐站点和用户的浏览器都可以阻止此操作。

更新:

我怎么能只有协议(protocol),域和主机而没有路径。

尝试将正则表达式更改为:
SetEnvIf Referer ^(https?://[^/]+) custom_referer=$1

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

关于apache - 获取请求主机Apache htaccess的变量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46677646/

10-09 22:12