我有以下代码,可以使用以下代码设置变量:
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
如果
Referer
是http://example.com:32/welcome
,那么这将导致http://example.com:32
仅存储在custom_referer
变量中。关于apache - 获取请求主机Apache htaccess的变量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46677646/