PHP 标头未使用 litespeed 设置(但适用于 apache)
Posted
技术标签:
【中文标题】PHP 标头未使用 litespeed 设置(但适用于 apache)【英文标题】:PHP headers not set with litespeed (but work with apache) 【发布时间】:2016-09-26 21:17:54 【问题描述】:在我的本地开发(vagrant、apache、ubuntu)中,使用 php 标头函数设置 Access-Control-Allow-Headers 没有问题。
但在生产中,CENTOS 6.7 上的 Litespeed。 php header 函数被忽略,Access-Control-Allow-Headers 总是设置为
X-Accept-Charset,X-Accept,Content-Type.
但我可以在 htaccess 文件中设置它们。
Header set Access-Control-Allow-Headers Origin, Content-Type, Accept, Authorization, X-Requested-With
PHP 标头函数在生产环境中确实有效
Access-Control-Allow-Origin "*"
这似乎是服务器配置问题,但我无法弄清楚它的设置位置。
为什么 litespeed 会忽略某些标头而不是其他标头的 PHP 标头函数?
【问题讨论】:
【参考方案1】:问题是标题中的空格...
似乎 apache 和 litespeed 对待 php header 函数和 htaccess "header set blah...blah" 的方式不同。
所以你可以设置
X-Accept-Charset,X-Accept,Content-Type,Origin,
但不是
X-Accept-Charset, X-Accept, Content-Type, Origin
在不同的地方。空格在 apache php header 函数中工作,但不是 Litespeed,空格在 litespeed thaccess "header set" 中工作,但不在 apache 中。
【讨论】:
以上是关于PHP 标头未使用 litespeed 设置(但适用于 apache)的主要内容,如果未能解决你的问题,请参考以下文章
未设置 CORS 标头 - 我可以请求图像 url,然后将其返回给自己吗?