如何在Wordpress中重定向到https?

时间:2015-10-07 10:29:44

标签: wordpress .htaccess redirect ssl

我刚刚为Wordpress网站购买了SSL证书,并希望人们转到https://www ...而不是http://www ..

我已经读过您需要在设置 - 常规中更改仪表板内的更改WordPress地址(URL)和站点地址(URL)。

我还读到你需要在.htaccess文件中添加重定向:

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

我需要同时做两件事吗?

如果是,上述代码是否放在默认的Wordpress .htaccess代码中,还是会出现在它上面?

由于

4 个答案:

答案 0 :(得分:1)

我对.htaccess规则没有多大用处,但我知道这不是我使用的规则。结合更改Wordpress地址和站点地址(正如您所指出的),我将默认的Wordpress .htaccess更改为

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On

RewriteCond %{SERVER_PORT} !^443$
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

但是,如果它是现有网站,那么您将遇到一个问题,即数据库中充满了使用http协议的图像链接内容,这将破坏浏览器中的挂锁。我没有编辑所有帖子,而是使用这个工具;

https://interconnectit.com/products/search-and-replace-for-wordpress-databases/

(大多数人在将WP网站从一个域转移到另一个域时使用它)并通过用http://www.example.com替换https://www.example.com的所有实例来重命名数据库中的所有图像

答案 1 :(得分:0)

您可以在code

中运行functions.php
function redirectToHTTPS(){
 if($_SERVER['HTTPS']!="on"){
   $redirect= "https://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
    header("Location:$redirect");   
}}
add_action('init','redirectToHTTPS');

您还可以使用.htaccess

中的代码

RewriteEngine On RewriteCond %{HTTPS} !on RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

两者都有效,但是使用ony,而不是两者。

答案 2 :(得分:0)

Put this code in .htaccess file 
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteBase /blog/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
</IfModule>

答案 3 :(得分:0)

尝试将其添加到您的functions.php中,而不是在.htaccess中进行更改

else if (CBLeather.Checked && CBComputerNav.Checked && !CBStereo.Checked) {
    accessories = Accessories.LeatherAndNavigation;
} else if (CBComputerNav.Checked && CBLeather.Checked && CBStereo.Checked) {
    accessories = Accessories.All;
} else {
    accessories = Accessories.None;
}

或参考此插件:HTTP Redirect