Wordpress 强制HTTPS会中断管理员页面

Wordpress 强制HTTPS会中断管理员页面,wordpress,.htaccess,https,Wordpress,.htaccess,Https,首先,我找了这个,但找不到它(所以我才发帖)。因此,如果我错过了解决方案,我道歉。我还认为这是服务器访问问题,而不是WordPress问题 我最近在我的域上实现了SSL。我已经更正了数据库中的所有链接,只要我不强制重定向HTTPS,网站就可以正常工作。当我这样做时,它也会破坏我的WordPress登录页面。登录页面和管理员都被重写得模糊不清。我已经复制了htaccess文件的重要部分 # Force HTTPS RewriteEngine On RewriteCond %{HTTPS} off

首先,我找了这个,但找不到它(所以我才发帖)。因此,如果我错过了解决方案,我道歉。我还认为这是服务器访问问题,而不是WordPress问题

我最近在我的域上实现了SSL。我已经更正了数据库中的所有链接,只要我不强制重定向HTTPS,网站就可以正常工作。当我这样做时,它也会破坏我的WordPress登录页面。登录页面和管理员都被重写得模糊不清。我已经复制了htaccess文件的重要部分

# Force HTTPS
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
后来

#开始WordPress
重新启动发动机
重写基/
重写规则^index\.php$-[L]
重写规则^string1/(.*)/wp admin/$1[QSA,L]
重写规则^string1(.*)/wp admin/$1[QSA,L]
重写规则^string2(.*)/wp login.php$1[QSA,L]
重写规则^string2/(.*)/wp login.php$1[QSA,L]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则/index.php[L]
#结束WordPress
第一次重写在htaccess文件的顶部,第二次大约在中间。当我不强制使用https时,用户仍然能够访问站点的HTTP版本(这显然违背了安装SSL的目的)。当用户处于站点的HTTP版本时,由于所有链接都已更新,因此任何单击都会将用户转到HTTPS版本。我假设问题出在{REQUEST_URI}命令中,它导致了一次奇怪的重写,结果以404结尾。我没有在Chrome或Firefox网站上收到任何混合内容警告


顺便说一句,我不是职业选手,所以请为我保留一点基本知识。谢谢。:)

我会从htaccess上取下强制HTTPS脚本,然后清除缓存并进行硬重新加载。如果它仍然把你带到HTTP版本,那么我猜你有混合内容。您可以使用此插件并将所有“http://”替换为“https://”。通过这种方式,它将搜索网站上的所有非https内容(包括您的数据库),并将其替换为https版本。完成后,给它一些时间(10分钟左右),然后再次尝试访问该网站。让我知道这是否有效

我还想补充一点。如果您转到设置»常规,您的wordpress地址url和网站地址url是什么样子的?确保它们都运行https版本


关于我上面的建议,强制使用https而不使用.htacess函数的一种更简单的方法是使用此插件“Really Simple SSL”

您是否使用自己的站点证书;或者SSL是由像Cloudflare这样的CDN提供的?我通过我的托管提供商GoDaddy购买了一个SSL。我目前根本没有使用CDN。
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteRule ^string1/(.*) /wp-admin/$1 [QSA,L]
RewriteRule ^string1(.*) /wp-admin/$1 [QSA,L]
RewriteRule ^string2(.*) /wp-login.php$1 [QSA,L]
RewriteRule ^string2/(.*) /wp-login.php$1 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress