WordPress此页面不能正确地重定向的问题。

背景

我想全站https,直接修改数据库
我这里用了yoast seo插件,所以有最后两条。
其实你自己去数据库里面去看一看就知道哪些地方需要替换了。


    UPDATE wp_options SET option_value = replace( option_value, 'http://youurl.com', 'https://youurl.com' ) WHERE option_name = 'home' OR option_name = 'siteurl';
    UPDATE wp_posts SET post_content = replace( post_content, 'http://youurl.com', 'https://youurl.com' ) ;
    UPDATE wp_posts SET guid = replace( guid, 'http://youurl.com', 'https://youurl.com' ) ;
    UPDATE wp_yoast_indexable SET permalink = replace( permalink, 'http://youurl.com', 'https://youurl.com' ) ;
    UPDATE wp_yoast_seo_links SET url = replace( url, 'http://youurl.com', 'https://youurl.com' ) ;

可是替换之后出现了 此页面不能正确地重定向的问题。
通过调试手段知道,一直在循环301跳转。

解决办法

总之我试了很多方法。
最后的解决办法:
修改 .htaccess

RewriteEngine On
RewriteCond %{HTTP:From-Https} !^on$ [NC]
RewriteRule ^(.*)$ https://youurl.com/$1 [R=301,L]

# BEGIN WordPress
# 在“BEGIN WordPress”与“END WordPress”之间的指令(行)是
# 动态生成的,只应被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

然后在 wp-config.php 中增加下面的代码。

if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')
    $_SERVER['HTTPS'] = 'on';

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值