我所有的网站都返回 301 而不是 200

Posted

技术标签:

【中文标题】我所有的网站都返回 301 而不是 200【英文标题】:All my sites are return 301 instead of 200 【发布时间】:2019-01-22 01:27:51 【问题描述】:

我的所有网站都返回 301 响应代码而不是 200。我的网站托管在亚马逊 AWS 上,我的 dns 由 cloudflare 管理。我正在使用来自 cloudflares 的免费 ssl。

我正在第三方网站上测试我的网站。我似乎到处都收到以下错误:

Your server did not return a valid HTTP code (You returned 301 when you should have returned 200).

我的服务器是使用 nginx 配置的。这是我的 nginx 服务器代码:

server 
        listen 80;
        listen 443 ssl;
        root /media/6sense/www/shajao.com;
        index index.html index.htm index.nginx-debian.html;
        server_name shajao.com www.shajao.com;
        location / 
                try_files $uri$args $uri$args/ /index.html;
        

这是我的网站。 https://shajao.com/

【问题讨论】:

【参考方案1】:

您的网站在通过 HTTP 请求时返回 301,以便重定向到 HTTPS。也就是说,如果有人试图获取 http://shajao.com,他们会得到一个 301 重定向到 https://shajao.com。这是一件好事:每个人都应该使用 HTTPS 而不是 HTTP。如果您告诉那些第三方网站使用 HTTPS,它应该可以工作 - 确保输入以 https:// 开头的网站 URL。话虽如此,如果您真的想允许通过 HTTP 进行流量,您可以在 Cloudflare 设置中关闭“始终使用 HTTPS”选项。

【讨论】:

以上是关于我所有的网站都返回 301 而不是 200的主要内容,如果未能解决你的问题,请参考以下文章

IIS7 301 URL 重写给出 200 状态而不是 301 状态

Azure web.config 永久重定向并获得 307 状态码而不是 301

javascript 使用AWS Lambda重定向到CloudFront上的尾部斜杠。 (所有这一切都因为S3使用302重定向而不是301)

Mass 301 Moved 永久重定向

Java 中的 URL 重定向返回 302 而不是 301

301重定向网站URL