首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LiteSpeed忽略PHP 404状态

LiteSpeed忽略PHP 404状态
EN

Server Fault用户
提问于 2018-09-21 11:11:22
回答 2查看 528关注 0票数 0

在将我的网站移到使用LiteSpeed的网站主机后,似乎忽略了PHP。

我尝试过这些变体:

  • $s = "HTTP/1.1 404 Not Found";
  • $s = "HTTP/1.0 404 Not Found";
  • $s = "Status: 404 Not Found";
  • $s = $_SERVER["SERVER_PROTOCOL"] . ' 404 Not Found';

紧接着是

代码语言:javascript
复制
header($s)

但在LiteSpeed上,所有这些似乎都被忽略了。

  1. 在LiteSpeed中是否有任何选项可以关闭以获得Apache兼容行为?我可以访问cPanel和.htaccess
  2. 还有其他可能的解释和/或解决办法吗?

备注:

  • 问题发生在https和http变体上。
  • 返回404的页面是一个用于处理mod_rewrites的页面(因此对于在数据库中找不到有效内容的URL查询,应该返回404 http响应代码)
  • 在我放置服务器的另一个领域也会出现问题(使用一个流行的PHP解决方案和一个基于mod_rewrite的插件,用于漂亮的URL)
  • mod_rewrites本身工作正常。
  • The报头()调用也被忽略在非mod_重写URL上,例如test?id=2
  • 这两个站点在我已经尝试过的Apache服务器上运行良好(至少有两个不同的Apache two主机+我的本地主机)。

另外,在这两个网站上,我都在.htaccss文件中禁用了.htaccss缓存。

代码语言:javascript
复制
RewriteRule .* - [E=Cache-Control:no-cache]

通过创建一个简单的

像这样的test.php文件

代码语言:javascript
复制

然后尝试请求test?id=2

EN

回答 2

Server Fault用户

回答已采纳

发布于 2018-09-24 22:35:49

NotePad++被配置为使用“UTF8编码”,而不是“没有BOM的UTF8编码”。

这意味着一些文件包括一个“隐形”的领先BOM。

我一直在检查HTTP请求和浏览器-开发人员模式下的响应,但是在那里BOM是不可见的.

..。

如果您已经在页眉之前输出任何内容,PHP中的头()将(当然)不能工作。

..。

我怀疑我从未在Apache上出现这个问题的原因是自动修复了它。

票数 0
EN

Server Fault用户

发布于 2018-09-21 15:30:36

大多数情况下,LSWS的行为将与apache相同。

如果您对服务器或WHM控制面板具有根ssh访问权限,则可以尝试在apache和LSWS之间切换,以查看它们的行为是否相同。

切换到apache: /usr/local/ LSWS /admin/misc/cp_ switch _ws.sh apache切换到lsws /usr/local/lsws/admin/misc/cp_ switch _ws.sh

如果是这样的话,您可能需要检查PHP代码或重写规则,以确定哪里出错。

如果Apache和LSWS的行为不同,则可以记录一张票证。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/932026

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档