我有下面的代码,我可以使用下面的代码来设置一个变量:
SetEnvIf Host (.*) custom_host=$1
我想要的是请求主机/计算机的变量。
例如,如果网站
http://example.com:32/welcome
正在提出请求,我想把它作为变量吗?
最佳答案
而不是 Host
你需要Referer
访问 HTTP Referer
在请求中发送的 header 。例如:
SetEnvIf Referer (.*) custom_referer=$1
但是,根据您使用的服务器端脚本语言,您很少需要将其分配给另一个变量。您通常可以根据需要直接引用它。
另请注意,HTTP
Referer
可能未设置 header 。引用站点和用户的浏览器都可以阻止这一点。更新:
how can i have just the protocol, domain and host without the path.
尝试将正则表达式更改为:
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/