海滨擎蟹

Nginx配置好ssl,但$_SERVER['HTTPS']取不到值

转自博客 [歪麦博客 - 使用https,$_SERVER['HTTPS']却不等于on?][1]

要求:http和https协议共存。

配置CI config文件遇到一些问题,因为PHP中有根据$_SERVER['HTTPS']来设置base_url。

解决方法的办法就是Nginx配置加上:

fastcgi_param HTTPS $https if_not_empty;
完整配置如下:

location ~ .*\.(php|php5)?$
{
    try_files $uri =404;
    fastcgi_pass  unix:/tmp/php-cgi.sock;
    fastcgi_param HTTPS $https if_not_empty;
    fastcgi_index index.php;
    include fastcgi_params;
}

注:这个 if_not_empty 额外参数只适合 Nginx 1.1.11 之后的版本

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »