【发布时间】:2014-07-30 17:02:30
【问题描述】:
要检查它是cli还是http请求,在PHP中可以使用php_sapi_name这个方法,take a look here。我正在尝试在 apache conf 文件中复制它。基本思想是,如果请求来自 cli,则提供“最少信息”,如果请求来自浏览器,则用户将被重定向到不同的位置。这可能吗?
我的伪代码:
IF (REQUEST_COMING_FROM_CLI) {
ProxyPass / http://${IP_ADDR}:5000/
ProxyPassReverse / http://${IP_ADDR}:5000/
}ELSE IF(REQUEST_COMING_FROM_WEB_BROWSERS){
ProxyPass / http://${IP_ADDR}:8585/welcome/
ProxyPassReverse / http://${IP_ADDR}:8585/welcome/
}
补充:cURL 使用不同协议的主机,包括 http、ftp 和 telnet。 apache 可以确定请求是来自 cli 还是浏览器?
【问题讨论】:
-
php_sapi_name 并没有像你想象的那样做。它只是区分 PHP 如何与网络服务器通信,无论是直接(命令行 php 解释器)还是通过 mod-php 之类的东西。