WordPress Apache主机下HTTP强制跳转到HTTPS方法

2022-03-08 0 1,063

我们推荐务必使用Https来加载您的网站,这样可以保护您的网站和站点用户数据安全,而且现在很多浏览器都强制要求采用HTTPS,否则会提示此站点不安全。而且Google已经将https作为网站排名的一个参考因素,如果您的网站想要获得更好的SEO排名,那现在就要开始为您的网站添加HTTPS啦!今天我们来分享一下WordPress Apache主机下HTTP强制跳转到HTTPS方法。

WordPress Apache主机下HTTP强制跳转到HTTPS方法

按照本文进行操作前,请注意两点:

1.确保您的网站已经配置好ssl证书并开启了https访问。
2.确保您的主机服务器的运行环境是Apache

注意:浏览器缓存可能会导致无法正确看到配置生效,所以为确保重定向正确无误,请务必在开始每个代码测试之前清除浏览器cookie和缓存。

HTTP重定向到HTTPS
如果您的WordPress网站可以直接通过https://www.domain.com进行访问,并且您要将所有访问者从HTTP重定向到HTTPS,那您可以使用下面两个选项的配置代码之一:

选项1:
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

选项2:

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

说明
选项1和选项2都可以将任何访问http://www.domain.com重定向到https://www.domain.com

选项1代码将检查连接是否为TLS / SSL,如果不是,设置重定向;而选项2代码将检查站点是否在 80 端口上运行,如果是,设置重定向。

注意:通常最好使用选项1的代码。语法更加明了,并且无论端口号如何,它都将重定向到HTTPS,因为从技术上讲,站点可以在80 以外的其他端口进行访问。

“非www”到“www”和HTTP到HTTPS
如果要强制将“非www”强制为“www”,并将HTTP强制为HTTPS,则上述.htaccess代码将无法满足要求。

为了明确起见,如果您的目标是重定向以下网址:

http://www.domain.com
http://domain.com
到:

https://www.domain.com
那么,您将需要使用下面的.htaccess代码。

RewriteEngine On
RewriteCond %{HTTP_HOST} ^domain.com$ [NC]
RewriteRule (.*) http://www.domain.com/$1 [R=301,L]

RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
说明
首先,它将所有“非www”重定向到“www”,然后再检查HTTPS,确保最终结果是:www + HTTPS。

“非www”到“www”和HTTP到HTTPS(在子文件夹中)
现在,如果您在一个子文件夹(即www.domain.com/blog/)中托管WordPress网站,则上述.htaccess代码将无法完美运行。

此处的目标是将所有网址(无论是首页还是文章页)都重定向到www + HTTPS 网址。

让我们看一下各种情况下的可能性。

条件1
我们需要重定向以下所有网址:

http://domain.com
http://www.domain.com
http://domain.com/blog/
http://www.domain.com/blog/
统一为以下网址:

https://www.domain.com/blog/
条件2
并重定向以下网址:

http://domain.com/blog/example-page/
http://www.domain.com/blog/example-page/
到:

https://www.domain.com/blog/example-page/
当您的WordPress安装在子文件夹(例如 /blog/)中时,您将有两个.htaccess文件,即在子文件夹外部有一个.htaccess文件,而在安装WordPress的文件夹内部有一个.htaccess文件。我们将需要同时更改它们。

.htaccess
blog/
blog/.htaccess
子文件夹外的 .htaccess
将以下代码插入子文件夹外部的.htaccess中。

RewriteEngine On
### non-www to www, http to https
RewriteCond %{HTTPS} !on
RewriteCond %{HTTP_HOST} ^domain.com$ [OR]
RewriteRule (.*) https://www.domain.com/$1 [R=301,L]

### subfolder
RewriteRule ^$ /blog/ [R=301]
这是这段代码先确保使用HTTPS将域名重定向到www,然后将其重定向到子文件夹。这将满足上面提到条件1,但还不满足条件2。

在子文件夹内的 .htaccess
接下来,我们将需要更改子文件夹中的.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

将以下代码放在 “# BEGIN WordPress” 的上方

<IfModule mod_rewrite.c>
RewriteEngine On
## http to https
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
有了这两套代码,它将确保输入的所有网址都将包含在www和HTTPS中。

:本文采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可, 转载请附上原文出处链接。
1、本站提供的源码不保证资源的完整性以及安全性,不附带任何技术服务!
2、本站提供的模板、软件工具等其他资源,均不包含技术服务,请大家谅解!
3、本站提供的资源仅供下载者参考学习,请勿用于任何商业用途,请24小时内删除!
4、如需商用,请购买正版,由于未及时购买正版发生的侵权行为,与本站无关。
5、本站部分资源存放于百度网盘或其他网盘中,请提前注册好百度网盘账号,下载安装百度网盘客户端或其他网盘客户端进行下载;
6、本站部分资源文件是经压缩后的,请下载后安装解压软件,推荐使用WinRAR和7-Zip解压软件。
7、如果本站提供的资源侵犯到了您的权益,请邮件联系: 442469558@qq.com 进行处理!

猪小侠源码-最新源码下载平台 WordPress教程 WordPress Apache主机下HTTP强制跳转到HTTPS方法 http://www.20zxx.cn/364981/wordpres/wordpressq.html

猪小侠源码,优质资源分享网

常见问题
  • 本站所有资源版权均属于原作者所有,均只能用于参考学习,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担
查看详情
  • 最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,建议提前注册好百度网盘账号,使用百度网盘客户端下载
查看详情

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务