Php 将整个网站重定向到HTTPS
我最近建立了一个网站并安装了我的SSL证书等等,但我的网站仍然显示为未经认证和不安全的,原因是因为该网站仍然使用HTTP地址,而不是HTTPS,我找到了我的Php 将整个网站重定向到HTTPS,php,.htaccess,redirect,ssl,Php,.htaccess,Redirect,Ssl,我最近建立了一个网站并安装了我的SSL证书等等,但我的网站仍然显示为未经认证和不安全的,原因是因为该网站仍然使用HTTP地址,而不是HTTPS,我找到了我的.htaccess文件,这就是它的内部内容: # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQU
.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
#开始WordPress
重新启动发动机
重写基/
重写规则^index\.php$-[L]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则/index.php[L]
#结束WordPress
我发现为了重定向到HTTPS,我需要使用:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</IfModule>
# END WordPress
#开始WordPress
重新启动发动机
重写条件%{HTTPS}关闭
重写规则(*)https://%{HTTP\u HOST}%{REQUEST\u URI}
#结束WordPress
这是有效的,唯一的问题是,这只适用于主页,“主页”,如果你试图打开网站的任何其他页面,它会显示404消息未找到,所以我的问题是:
我需要做什么才能重定向我的整个域,使用HTTPS,这样我就可以在URL栏上显示“挂锁和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]
用WordPress站点的URL替换yoursite.com
的每个实例
我建议您浏览我上面给出的整个网页,确保完全按照所列步骤操作。要将https添加到具有
有效
证书的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>
重新启动发动机
重写基/
重写条件%{HTTPS}关闭
重写规则^https://%{HTTP_HOST}%{REQUEST_URI}[R=301,L]
#开始WordPress
重写规则^index\.php$-[L]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则/index.php[L]
从文档中删除
您几乎总是希望将[R]与[L]结合使用(即
是,请使用[R,L]),因为[R]标志本身是前置的
,然后将其传递给
规则集中的下一个规则,这通常会导致“中的URI无效”
请求“警告”
谢谢你们的帮助,伙计们!我会对答案投赞成票,但我得到的答复不到15次,所以我不能,无论如何,我遵循Tim Biegeleisen建议的指南,虽然我无法通过修改.htaccess文件使301重定向正常工作,但我让网站使用HTTPS运行,所以现在它显示挂锁和ssl证书,当我按照建议修改.htaccess文件时,谷歌说“它有太多的重定向循环”,所以我只留下了带有默认代码的.htaccess,我所做的就是转到wordpress面板,修改wordpress地址(URL)和站点地址(URL)都在使用https,之后我把我的网站添加到了谷歌站长工具中,我认为这已经结束了,现在效果很好,到目前为止还不错!谢谢你们的帮助,伙计们 404重定向之前还是之后?