Я пытаюсь принудительно использовать https поверх протокола HTTP для своего веб-сайта. Мне удалось заставить http://example.com
=> https://example.com
и все URL-адреса сообщений в блогах.
Однако, когда я пытаюсь получить доступ https://example.com/wp-admin
, это говорит example.com
перенаправлял вас слишком много раз. ERR_TOO_MANY_REDIRECTS
.
Обратите внимание:
localhost
и localhost/wp-admin
работает нормально и может успешно войти в панель администратора.WP_ENV
чтобы определить, является ли это локальной или производственной средой. Вот моя установка моего wp-config.php
файл.
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')
$_SERVER['HTTPS'] = 'on';
/** HTTPS */
if (getenv('WP_ENV') == 'production'){
define('FORCE_SSL_ADMIN', true);
define('FORCE_SSL_LOGIN', true);
define('WP_HOME', 'https://example.com');
define('WP_SITEURL', 'https://example.com');
}
if(getenv('WP_ENV') == 'development'){
/* Http only. */
define('WP_HOME', 'http://localhost');
define('WP_SITEURL', 'http://localhost');
}
А вот и мой .htacess
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
<If "%{HTTPS} == 'on'">
# For a site running on port 80 (http)
RewriteCond %{SERVER_PORT} ^80$
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^wp-(admin|login|register)(.*) https://example.com/wp-$1$2 [L]
</If>
RewriteCond %{SERVER_PORT} ^80$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress