详解百度https认证提示"请将您的http站点301重定向到https站点"的解决办法

 更新时间:2018年12月02日 16:43:52   投稿:zx  
对于301重定向这一概念玩SEO的同志们都不陌生了,近些年来https协议越来越火,百度大大已经明确了对https的扶持政策,这篇文章主要介绍了详解百度https认证提示"请将您的http站点301重定向到https站点"的解决办法,感兴趣的小伙伴们可以参考一下

最近想把一个网站改造成https访问,但是一些都做好了,去百度站长平台认证https,结果怎么提交都是出现“请将您的http站点301重定向到https站点”,在百度站长社区提问也没有人回答,最后只能自己摸索。后面找到了原因:原来百度的https认证是严格遵守301重定向的,我用的是iis6,之前的代码为:

RewriteEngine On

RewriteCond %{SERVER_PORT} !^443$ 

RewriteRule (.*) https://%{SERVER_NAME}/$1 [R] 

这种写法虽然能够实现将http全部跳转到https,但是在百度站长平台是通不过的。最后将代码修改为以下后便通过了

RewriteEngine On

RewriteCond %{SERVER_PORT} !^443$

RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]

下面我搜集整理了各种网站环境的部署https(ssl)后设置301跳转的代码,希望能够对大家有所帮助。

linuxt系统 apache环境

云服务器:在对应站点根目录下新建(通过ftp或登录wdcp管理面板中:站点列表-文管-进入public_html-创建文件)一个文件命名为.htaccess。

虚拟主机:可以通过ftp或登录后进入到主机管理面板-文件管理,进入wwwroot,新建一个文件命名为.htaccess文件,保存即可。

编辑.htaccess文件写入以下规则:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP:From-Https} !^on$ [NC]
RewriteRule ^(.*)$ https://www.abc.com/$1 [R=301,L]  # www.abc.com对应修改为您自已的域名
RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule ^(.*)$ https://www.abc.com$1 [R=301,L]  # www.abc.com对应修改为您自已的域名
</IfModule>

Nginx环境

编辑nginx站点配置文件(登录wdcp管理面板中:站点列表-文管-虚拟主机站点文件nginx-对应站点配置文件),添加以下规则

server
{
listen 80;
server_name abc.com;
rewrite ^(.*) https://www.abc.com$1 permanent;   # abc.com对应修改为您自已的域名 
}

Windows系统 II7环境

云服务器:在对应站点根目录下新建(通过ftp或登录后直接进入到D:\wwwroot\站点ftp命名目录\wwwroot创建)一个文件命名为web.config并编辑添加以下规则:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
 <system.webServer>
  <rewrite>
   <rules>
    <rule name="301" stopProcessing="true">
     <match url="^(.*)$" ignoreCase="false" />
     <conditions logicalGrouping="MatchAll">
      <add input="{HTTPS}" pattern="^on$" negate="true" />
     </conditions>
     <action type="Redirect" url="https://www.abc.com/{R:1}" redirectType="Permanent" />  # www.abc.com对应修改为您自已的域名
    </rule>
   </rules>
  </rewrite>
 </system.webServer> 
</configuration>

虚拟主机:可以通过ftp或登录后进入到主机管理面板-文件管理,进入wwwroot,新建一个文件命名为web.config并编辑添加以下规则:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
 <system.webServer>
  <rewrite>
   <rules>
    <rule name="301" stopProcessing="true">
     <match url="^(.*)$" ignoreCase="false" />
     <conditions logicalGrouping="MatchAll">
      <add input="{HTTP_FROM_HTTPS}" pattern="^on$" negate="true" />
     </conditions>
     <action type="Redirect" url="https://www.abc.com/{R:1}" redirectType="Permanent" />  # www.abc.com对应修改为您自已的域名
    </rule>
   </rules>
  </rewrite>
 </system.webServer> 
</configuration>

Windows系统 II6环境

 配置一个Rewrite,编辑该Rewrite的规则文件httpd.conf或者.htaccess 添加以下规则。

RewriteEngine On

RewriteCond %{SERVER_PORT} !^443$

RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]

tomcat环境

在web.xml最后一行</web-app>代码之前添加如下代码即可

<security-constraint>
 <!-- Authorization setting for SSL -->
 <web-resource-collection >
  <web-resource-name >SSL</web-resource-name>
  <url-pattern>/*</url-pattern>
 </web-resource-collection>
 <user-data-constraint>
  <transport-guarantee>CONFIDENTIAL</transport-guarantee>
 </user-data-constraint>
</security-constraint>

注: 1、discuz使用301方式强制将http跳转到https后会导致后台uc通信失败。

2、通过该方式设置跳转后,如无法正常跳转访问,请单独建立站点绑定https域名,仍在原来站点设置跳转规则。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • LVS(Linux Virtual Server)Linux 虚拟服务器介绍及配置(负载均衡系统)

    LVS(Linux Virtual Server)Linux 虚拟服务器介绍及配置(负载均衡系统)

    LVS(Linux Virtual Server) 是Unix-like系统中的一个虚拟服务器,是国内贡献给开源组织的一个最优秀的项目之一
    2012-05-05
  • rsync命令排除文件和文件夹(exclude-from)

    rsync命令排除文件和文件夹(exclude-from)

    今天在配置服务器同步额时候,需要排除一些不经常更新或文件夹内容过多的,提高同步效率,经过测试通过rsync的exclude-from就可以实现
    2013-07-07
  • WordPress升级版本及安装插件出现”Problem with the SSL CA cert”的解决办法

    WordPress升级版本及安装插件出现”Problem with the SSL CA cert”的解决办法

    最近有很多很有在使用WordPress升级版本及安装插件时总是提示Problem with the SSL CA cert的问题,如何解决呢?下面小编把我的解决办法分享给大家,需要的朋友可以参考下
    2015-10-10
  • 扔掉VPS面板!网站平滑迁移到LNMP或LAMP建站环境的方法图解

    扔掉VPS面板!网站平滑迁移到LNMP或LAMP建站环境的方法图解

    VPS面板带来了建站的便利,但是也导致了不少的问题,现在看来VPS面板很多的功能都是可以自己通过VPS配置来完成的,于是扔掉VPS面板,将网站迁移到LNMP或LAMP建站环境就自然应运而生的。下面给大家介绍扔掉VPS面板!网站平滑迁移到LNMP或LAMP建站环境的方法,一起看看吧
    2017-07-07
  • 分享几款linux下常见的vps控制面板

    分享几款linux下常见的vps控制面板

    VPS主机控制面板主要是用来控制和管理VPS服务器的,一般来说如果想要将VPS主机共享出来给多个人使用的话,我们就会采用类似于Cpanel、Virtualmin等主机控制面板。如果VPS主机只是一个人使用的话部落建议还是不要使用主机控制面板,以免带来不必要的安全隐患
    2017-07-07
  • Hadoop中namenode和secondarynamenode工作机制讲解

    Hadoop中namenode和secondarynamenode工作机制讲解

    今天小编就为大家分享一篇关于Hadoop中namenode和secondarynamenode工作机制讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • 开源SFTP服务器软件SFTPGo详解

    开源SFTP服务器软件SFTPGo详解

    SFTPGo 是一种事件驱动的文件传输解决方案,使用 SFTPGo,您可以利用本地和云存储后端,使用您已经熟悉的相同工具和流程在内部或与业务伙伴交换和存储文件,这篇文章给大家介绍开源SFTP服务器软件SFTPGo的相关知识,感兴趣的朋友一起看看吧
    2024-08-08
  • iisapp.vbs iis pid了解对应的网站或应用池

    iisapp.vbs iis pid了解对应的网站或应用池

    有时候突然发现某个w3wp.exe进程,占用较大的自由,想看看是哪个网站,然后再解决问题。下面是具体的方法。
    2009-10-10
  • SNMP4J服务端连接超时问题解决方案

    SNMP4J服务端连接超时问题解决方案

    这篇文章主要介绍了SNMP4J服务端连接超时问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • SSH客户端连接远程服务器的操作方法

    SSH客户端连接远程服务器的操作方法

    这篇文章主要介绍了SSH客户端连接远程服务器的操作方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-08-08

最新评论