我正在尝试从 apache 迁移到 nginx,但我在 apache 中最常用的功能之一是 ssi 包含。我正在测试 nginx 如何处理 ssi 但我遇到了一些问题...
如果包含虚拟文件不存在,我会收到嵌入的 404 页面,甚至没有 [发生错误] 消息。使用 apache ssi,如果文件不存在,则错误显示为注释。
另一点是,使用 apache SSIErrorMsg 指令,我可以在服务器配置级别设置错误文本,但我在 nginx 中找不到它,只是<!--# config errmsg="custom error" -->在 html 内部。我在 nginx 文档中看不到像 SSIErrorMsg 这样的指令
nginx 404 ssi 错误:
<html>
<head>
<title>simple</title>
</head>
<body>
<html>
<head><title>404 Not Found</title></head>
<body bgcolor="white">
<center><h1>404 Not Found</h1></center>
<hr><center>nginx/1.6.2</center>
</body>
</html>
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
但在阿帕奇:
<html>
<head>
<title>simple</title>
</head>
<body>
<!-- Error -->
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
该错误消息仅出现在 nginx 中,例如,当我编写一个 ssi 包含一些拼写错误时
<!--#include virtualll="example.html"-->
有没有办法在未找到的情况下显示错误而不是嵌入 404 文件?
这是 nginx 服务器配置:
server {
listen 80;
server_name demo.localhost;
ssi on;
ssi_silent_errors off;
location / {
root /var/www/demoweb;
}
}
Run Code Online (Sandbox Code Playgroud)
如果我设置ssi_silent_errors off;什么都不显示,但我想要像<!--Error-->apache 那样的东西
| 归档时间: |
|
| 查看次数: |
4681 次 |
| 最近记录: |