之前用旧版的时候用二级目录反代的,方便内网穿透,新版发现不行了,我改了改后可以使用,有需要的朋友可以试试。找到 app/function/web.function.php
,查找 get_host
函数,修改如下:
function get_host() {
$protocol = http_type().'://';
$url_host = $_SERVER['SERVER_NAME'].($_SERVER['SERVER_PORT']=='80' ? '' : ':'.$_SERVER['SERVER_PORT']);
$host = isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : $url_host;
$host = isset($_SERVER['HTTP_X_FORWARDED_HOST']) ? $_SERVER['HTTP_X_FORWARDED_HOST'] : $host;//proxy
$host = $_SERVER[REQUEST_URI].preg_match("/files/i",$host) ? $host . '/files' : $host;
return $protocol.$host;
}
注意:将 $host = $_SERVER[REQUEST_URI].preg_match("/files/i",$host) ? $host . '/files' : $host;
复制进去就行了,其中 files
是我nginx反代的二级目录,如果你是三级目录比如 example.com/files/kodbox/
,可以这样写: $host = $_SERVER[REQUEST_URI].preg_match("/files\/kodbox/i",$host) ? $host . '/files/kodbox' : $host;
,多级目录同理。