我所有的网站都返回 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)