在开发api接口时候,token放到了信息头的Authorization上,后端直接读取信息头拿去token,总是拿不到,把整个header打印出来,就是没有Authorization
放线上环境又没有问题,线上和本地环境差的就是NGINX和apache……
Google发现是apache的问题,原来是apache把这个信息头Authorization去掉了
修改.htaccess文件就可以修复,新增这部分
# Handle Authorization HeaderRewriteCond%{HTTP:Authorization}.RewriteRule.* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
整个.htaccess文件内容变成
AddDefaultCharsetUTF-8<IfModule mod_rewrite.c>RewriteEngineOnRewriteCond%{REQUEST_FILENAME}!-dRewriteCond%{REQUEST_FILENAME}!-fRewriteRule^(.*)$ index.php?_url=/$1 [QSA,L]# Handle Authorization HeaderRewriteCond%{HTTP:Authorization}.RewriteRule.* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]</IfModule>