WordPress网站如何将 HTTP 重定向到 HTTPS 及将带 www 重定向到不带 www

Wordpress网站如何将 HTTP 重定向到 HTTPS 及将带 www 重定向到不带 www
WordPress网站如何将 HTTP 重定向到 HTTPS 及将带 www 重定向到不带 www

HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是经过SSL加密以确保通讯安全的HTTP通道,主要是在HTTP的基础上通过传输加密和身份认证以确保传输过程的安全性。现如今,HTTPS的应用已经相当的普及。

在本文中,我们将介绍如何将网站的URL链接,从HTTP重定向到HTTPS,以及如何将网站从带WWW的域名重定向到不带WWW的域名。

将网站URL从 http 重定向到 https

早些年的时候HTTPS还没有那么普及的时候,大多数的网站在建站之初都没有使用HTTPS协议,但是随着对通讯传输安全性的要求越来越高,逐渐开始使用HTTPS。但是这是就面临一个问题,有很访问网站的链接仍在使用 http://传输,并且很多用户都会在输入 http://的网址来访问网站。这时候,我们就需要将网站的URL从Http重定向到HTTPS了。

要达到重定向的目的,我们只需要将Wordpress根目录下的.htaccess 进行简单的设置就可以了。

注意:在更改 .htaccess 文件之前,一定要做好备份。

通过下面的代码,我们就可以将 http:// 访问其重定向到以 https:// 开头的URL。

# 301 REDIRECT HTTP TO HTTPS
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>

将URL从 https 重定向到 http

尽管一般情况下,我们不需要这样的重定向,但是我们也简单介绍一下如何来实现这种方向的重定向。
以下代码将会把 https:// 访问重定向到以 http:// 开头的URL 。

# Redirect HTTPS to HTTP
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>

将网站URL从 www 重定向到不带 www

为了让网址更加的简介,更方便用户输入,我们可以使用如下的代码将URL从WWW的域名重定向到不带WWW的域名。可以在.htaccess文件中使用以下代码:

# 301 REDIRECT WWW TO NON-WWW
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
</IfModule>

将网站链接从不带 www 重定向到 www

使用以下代码,可以将不带www的链接转换为带www的链接:

# 301 REDIRECT NON-WWW TO WWW
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(?!www\.)(.+) [NC]
RewriteRule ^(.*) http://www.%1/$1 [R=301,NE,L]
</IfModule>

从 http 重定向到 https,从 www 重定向到不带 www

使用下面的一段代码,我们既可以把网站URL从http重定向到https,同时也可以将带WWW的URL重定向到不带WWW的URL。

# 301 REDIRECT HTTP TO HTTPS AND WWW TO NON-WWW
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [L,NE,R=301]
</IfModule>

将链接从 http 重定向到 https,从不带 www 重定向到 www

使用下面的一段代码,我们既可以把网站URL从https重定向到http,同时也可以将不带WWW的URL重定向到带WWW的URL。:

# 301 REDIRECT HTTP TO HTTPS AND NON-WWW TO WWW
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://www.%1%{REQUEST_URI} [L,NE,R=301]
</IfModule>

这里再次提醒大家,在对.htaccess 文件进行任何操作之前,一定要做好备份,因为一旦操作失误,可能会造成网站无法访问。

原创文章,作者:牛奇网,如若转载,请注明出处:https://www.niuqi360.com/wordpress/wordpress-website-http-redirect-https-and-www-redirect-no-www/

发表评论

登录后才能评论