开发者社区 问答 正文

高手快来,asp设置404错误页面一直返回200状态码

[font='Helvetica Neue', 'Luxi Sans', 'DejaVu Sans', Tahoma, 'Hiragino Sans GB', STHeiti, 'Microsoft YaHei'] 使用ecs服务器,设置404,错误页面能打开自定义的404页面,但是错误页面的状态码返回200,也在阿里云常见问题了解过,照问题解决方式 在head头里输入<%Response.Status = “404 Not Found”%>,问题并未解决,自定义的404页面也使用asp和html格式的,均无效果,请问如何设置使得状态返回404? [font='Helvetica Neue', 'Luxi Sans', 'DejaVu Sans', Tahoma, 'Hiragino Sans GB', STHeiti, 'Microsoft YaHei']
[font='Helvetica Neue', 'Luxi Sans', 'DejaVu Sans', Tahoma, 'Hiragino Sans GB', STHeiti, 'Microsoft YaHei']

展开
收起
拾久艺术 2015-08-07 14:07:09 4244 分享 版权
阿里云 AI 助理回答

在阿里云ECS服务器上设置自定义404错误页面,并确保返回正确的404状态码,通常涉及到Web服务器的配置。这里以两种常见的Web服务器软件Apache和Nginx为例,说明如何正确配置。

对于Apache服务器:

  1. 编辑.htaccess文件:如果你的Apache服务器启用了.htaccess支持,可以在网站根目录下创建或编辑.htaccess文件,加入以下内容:

    ErrorDocument 404 /your_custom_404_page.html
    

    确保/your_custom_404_page.html是你的自定义404页面的相对路径。

  2. 确保Apache配置允许Override:确认Apache的主配置文件(如httpd.conf)中对你的站点目录允许.htaccess覆盖。检查是否有如下行且未被注释:

    AllowOverride All
    
  3. 重启Apache服务:修改后,记得重启Apache服务使更改生效。

对于Nginx服务器:

  1. 编辑Nginx配置文件:找到Nginx的配置文件,通常位于/etc/nginx/nginx.conf/etc/nginx/sites-available/your_domain,然后在server块中添加或修改以下内容:

    error_page 404 /your_custom_404_page.html;
    location = /your_custom_404_page.html {
       internal;
       root /var/www/your_website_directory; # 更改为你的网站根目录
    }
    

    这里/your_custom_404_page.html是自定义404页面的路径,而/var/www/your_website_directory需要替换为实际存放该页面的目录。

  2. 测试并应用配置:使用nginx -t命令测试配置文件是否正确无误,如果测试通过,则使用systemctl restart nginxservice nginx restart命令重启Nginx服务。

注意事项:

  • 确保自定义的404页面确实存在于指定位置,并且访问权限正确。
  • 如果问题依旧,检查是否有其他应用程序(如前端框架、反向代理等)可能重写了HTTP状态码。
  • 在某些情况下,如果使用了CDN服务,还需要在CDN层面上进行相应的错误页面设置,确保CDN不会将404错误转换为200。

按照上述步骤操作后,你应该能看到自定义的404页面,并且HTTP响应状态码应该是正确的404。如果问题仍未解决,建议详细检查服务器日志,以便进一步定位问题所在。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答