将整个网站重定向到HTTPS

时间:2015-03-09 04:24:37

标签: php .htaccess redirect ssl

我最近建立了一个网站并安装了我的SSL证书以及所有这些,但我的网站仍然显示为非认证和不安全,原因是因为网站仍在使用HTTP地址,而不是HTTPS,我发现我的.htaccess文件,这就是它的内容:

    # BEGIN WordPress
    <IfModule mod_rewrite.c>
   RewriteEngine On
   RewriteBase /
   RewriteRule ^index\.php$ - [L]
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteRule . /index.php [L]
   </IfModule>

   # END WordPress

我发现为了重定向到HTTPS,我需要使用它:

   # BEGIN WordPress
   <IfModule mod_rewrite.c>
   RewriteEngine On
   RewriteCond %{HTTPS} off
   RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

    </IfModule>

    # END WordPress

这是有效的,唯一的事情是只适用于主页,&#34;主页&#34;如果您尝试打开网站的任何其他页面,则会显示未找到的404消息,因此我的问题是:

我需要做什么才能重定向我的WHOLE DOMAIN,使用HTTPS以便我可以显示&#34; PADLOCK和SSL证书&#34;在URL栏上?

3 个答案:

答案 0 :(得分:0)

我发现这篇关于How to Move a WordPress Website from HTTP to HTTPS/SSL的精彩文章。在本文的最后,通过将以下代码添加到WordPress的.htaccess文件顶部,它提供了设置从HTTP到HTTPS的永久301重定向的说明:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^yoursite.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www.yoursite.com [NC]
RewriteRule ^(.*)$ https://www.yoursite.com/$1 [L,R=301,NC]

yoursite.com的每个实例替换为您的WordPress网站的网址。

我建议您浏览上面提到的整个网页,并确保按照列出的步骤进行操作。

答案 1 :(得分:0)

要将https添加到具有valid证书的wordpress网站,您的规则应如下所示。您还需要在规则末尾使用[R=301,L]。如果您没有指定哪个R状态代码,则默认为302,这是暂时的。您希望301为永久性的。您还需要将L与重定向结合使用以防止404之类的内容。阅读底部注释。

   <IfModule mod_rewrite.c>
   RewriteEngine On
   RewriteBase /
   RewriteCond %{HTTPS} off
   RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
   # BEGIN WordPress
   RewriteRule ^index\.php$ - [L]
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteRule . /index.php [L]
    </IfModule>

从文档中。

  

您几乎总是希望将[R]与[L]结合使用(那个   是,使用[R,L])因为它本身就是[R]标志   http://thishost[:thisport]到URI,但随后将其传递给   规则集中的下一个规则,通常会导致“无效的URI”   请求&#39;警告。

答案 2 :(得分:0)

谢谢你的帮助!我已经对答案进行了投票,但我得到了不到15个代表,所以我不能,无论如何,我按照指南Tim Biegeleisen的建议,虽然我无法通过修改它来获得301重定向工作。 .htaccess文件,我得到了使用HTTPS运行的网站,所以现在它显示了挂锁和ssl证书,当我按照建议修改.htaccess文件我无法访问该网站时,谷歌说&#34;它有太多的重定向循环&#34;所以我只是将.htaccess与默认代码放在一起,而我所做的就是转到wordpress面板并修改 WordPress地址(URL)和网站地址 (URL)正在使用https,之后我将我的网站添加到谷歌网站管理员工具,我认为关闭了圈子,现在效果很好,到目前为止一切顺利!谢谢你的帮助!