HTTP 到 HTTPS 301 重定向代码不起作用,显示重定向过多

2024-05-11

我正在为我的网站之一使用 Bluehost。最近,最近,我已将我的网站从 HTTP 迁移到 HTTPS 。 之后,我使用了不同的代码(包括以下代码)在我的网站上强制使用 HTTPS。

# SSL Rewrite
RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]

使用这篇文章后,当我检查重定向时重定向检查器在线可用,我收到以下消息。

但它不起作用。重定向太多。请尝试减少您的 重定向次数http://www.example.com http://www.example.com。您使用了 19 个重定向。 理想情况下,您不应在重定向链中使用超过 3 个重定向。 超过三个重定向将会给您带来不必要的负载 服务器并降低速度,最终导致糟糕的用户体验。

如果你想访问我的网站从浏览器,我收到这样的警告:

www.example.com 页面无法正常工作。 www.example.com 已重定向您 太多次了。

我认为某些重定向循环造成了这样的问题。

然而,

我的网站现在状态: 在 htaccess 上不使用任何代码

  1. https://www.example.com 工作正常。返回 200 确定。 200 好2

  2. https://example.com 现在 301 重定向到 https://www.example.com (所以,我认为这也很好)

问题是:

  1. http://example.com 现在 301 重定向到 http://www.example.com
  2. http://www. example.com 返回 200 OK。

为了解决问题 3,我在 htaccess 中添加了以下代码

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]

之后我发现:

http://example.com 现在 301 重定向到 https://www.example.com

所以问题解决了:

http//example.com
https//example.com
https//www.example.com

现在我只需要一些代码来重定向 301:

http://www.example.com 至 https://www.example.com`

有人可以帮我吗?

如果我以有线方式解释我的问题,我很抱歉......:D。问题是我不是这方面的专家。希望大家能够理解。


尝试这个:

RewriteEngine On

# If not www
RewriteCond %{HTTP_HOST} !^www\. [NC]
# rewrite to https and www
RewriteRule ^ https://www.example.com%{REQUEST_URI} [R=301,L,NE]

# If not HTTPS
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{HTTPS} off
RewriteRule ^ https://www.example.com%{REQUEST_URI} [R=301,L,NE]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HTTP 到 HTTPS 301 重定向代码不起作用,显示重定向过多 的相关文章

  • 非 www .htaccess 重定向 - 忽略其他子域

    我有一个 非 www 的 htaccess 重定向 如下所示 RewriteEngine on RewriteCond HTTP HOST www RewriteRule http www HTTP HOST 1 R 301 L 这是工作
  • mod_rewrite 将 '_' 替换为 '-'

    我几乎已经有了 mod rewrite 规则 但我已经屈服了 我需要重写 country countryname php to country countryname 但是 国家 地区名称 可能有这样的下划线 south africa ph
  • .htaccess:“重定向永久”并回退到“RewriteRule”

    我有一个网上商店 我们可以在其中切换子目录 从 shop 到根 一些产品和类别名称也发生了变化 我想将一些特定的 URL 重定向到较新的 URL 例如 www domainname de shop product abc to www do
  • Facebook 身份验证无需重定向?

    有没有办法在不重定向的情况下使用 facebook 身份验证 OAuth 2 0 我没有使用 facebook 登录按钮 所以我应该重定向到https www facebook com dialog oauth https www face
  • 如何在不更改地址栏中的 URL 的情况下重定向到不同的域?

    我想重定向自 域名1 com 照片 To 域名2 com 照片 我希望地址栏中的 URL 仍显示为 域名1 com 照片 有没有办法只使用 htaccess 来做到这一点 Note 我的domain1 com htaccess 文件目前完全
  • 快速修复:如何在 Python 中使用 SSL

    对不起我的英语不好 我在连接用 python 开发的客户端 quckfix 时遇到问题 配置文件没有像我想要的那样响应 如果我将路径 不正确的路径 强制错误 更改为文件 pem 并重新启动应用程序 该应用程序什么也不做 只是保持正常运行 就
  • .htaccess 主要用于 localhost

    我在本地主机上使用 wamp server 虚拟主机名为www xyz com我有一个通过 git 设置的部署服务 它将代码部署到服务器上www xyz in 这是我的 htaccess 代码 RewriteEngine on Rewrit
  • 为什么需要将nginx中的$args重定向到index.php?

    许多 PHP 框架建议将其添加到 nginx location try files uri index php is args args 执行index php在所有 HTTP 请求上 为什么我需要 is args args 我觉得 arg
  • 在 SSLwrapp() 之前在原始套接字上接收/发送,Python

    我想知道在包装原始套接字之前是否可以在原始套接字上接收 发送数据 我已经查看了文档并搜索了它 但找不到任何具体内容 我基本上想做的事情 client addr listeningSocket accept client recv 32 cl
  • Java 密钥库 - 以编程方式从密钥库文件中选择要使用的证书

    我有一个 java 密钥库文件 其中包含多个客户端证书 我希望在 Java 应用程序中仅选择其中一个证书来连接到服务 有没有一种简单的方法可以做到这一点 到目前为止 我找到解决方案的唯一方法是使用原始密钥库文件中的客户端证书详细信息 通过其
  • 如何将输出重定向到 boost 日志?

    我有一个使用boost log的C 程序 我加载了用户提供的动态链接库 我想将 stderr 重定向到 boost 日志 以便用户的库随时执行以下操作 std cerr lt lt Some stuff 它产生相同的结果 BOOST LOG
  • htaccess - 将所有非 www 流量重定向到 www

    任何人都可以建议我如何使用 htaccess 文件获取非 www 流量重定向到网站的 www 版本 我知道我在根目录中创建了一个网站 但无法确定要放置什么 任何想法 比较容易 匹配任何不以 www 开头的内容 然后重定向到 www 版本 R
  • 我必须做什么才能使通过 HTTPS 提供的图像等内容缓存在客户端?

    我使用 Tomcat 作为服务器 使用 Internet Explorer 6 作为浏览器 我们应用程序中的网页大约有 75 张图像 我们正在使用 SSL 加载所有内容似乎非常慢 如何配置 Tomcat 以便 IE 缓存图像 如果您通过 h
  • Spring boot 2 启用非安全 /health 端点

    我有一个带有客户端和服务器身份验证的 Spring Boot 2 项目 并且我试图仅公开 actuator health端点 因此不需要任何身份验证 我的初始WebSecurityConfigurerAdapter was EnableWe
  • 有人可以推荐客户 ssl 证书服务吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在查看各种 SSL 提供商 但它们似乎都提供 电子邮件证书 它可以兼作可以安装到浏览器中的客户端证
  • .htaccess 重写规则冲突

    我正在编写代码并构建一个 htaccess 文件 其中包含以下内容 RewriteEngine on RewriteRule A Za z0 9 A Za z0 9 index php id 1 NC L Handle page reque
  • 将 WordPress 的登录/注册页面重定向到自定义登录/注册页面

    我有一个网站 有一个用户系统 我想将 WordPress 的用户系统集成到该网站的用户系统中 但我仍然想使用该网站的注册 登录页面 我不希望任何人能够使用 Wordpress 的登录或注册表单登录或注册 相反 当他们尝试访问 Wordpre
  • openssl ciphers 命令将密码显示为 SSL 而不是 TLS

    我的应用程序出现 SSL 握手错误的问题 开发人员认为这是因为我们的服务器上的密码错误 他们尝试使用名为 TLS RSA WITH AES 256 CBC SHA 的密码 据我所知 该密码的 openssl 名称是 AES256 SHA 当
  • mod_rewrite 规则不起作用

    我的 htaccess 中有以下规则 RewriteRule list php categoryShortForm 1 locationShortForm world QSA RewriteRule list php categorySho
  • 使用 [P] 代理标志重写 .htaccess

    我正在尝试通过 htaccess 和代理标志进行不可见 透明 重写 它适用于 R 标志 但不适用于 P 标志 因为它只会给出 500 错误 这两个域位于不同的服务器上 并且启用了 mod proxy 模块 我的 htaccess 正确吗 O

随机推荐