Цикл перенаправления с CloudFlare и OpenShift и приложением WordPress

Я создал свое приложение WordPress на OpenShift, и оно отвечает на URL-адрес blog-porta8080.rhcloud.com.

Я создал 2 псевдонима на OpenShift

введите описание изображения здесь

Я купил свой домен (porta8080.com.br) у бразильского регистратора, который не позволяет мне добавлять записи CNAME без субдомена, такого как www.

Поэтому я создал учетную запись на CloudFlare, зарегистрировал свой домен и перенес свой домен на DNS-серверы CloudFlare.

введите описание изображения здесь

Затем я добавил 2 записи CNAME в CloudFlare

введите описание изображения здесь

Я даже установил плагин CloudFlare, который, как они говорят, поможет мне

https://wordpress.org/plugins/cloudflare/

Но когда я иду в http://porta8080.com.br не удается загрузить страницу из-за ошибки цикла перенаправления. Я тестировал на Chrome и Firefox, и оба выдает ту же ошибку. Chrome говорит «ERR_TOO_MANY_REDIRECTS» и, проверяя запросы, выдает мне несколько «301 ошибка: перемещено навсегда»

введите описание изображения здесь

Страница wp-admin не дает мне ошибки. Единственное, о чем я могу думать — это собственный файл .htaccess.

Это мой .htaccess (тот, что в Openshift, вероятно, без blog/ частей, я просто изменил постоянную ссылку в обеих, и это в результате .htaccess на моей машине)

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /blog/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
</IfModule>

# END WordPress

Есть идеи?

@Редактировать

Есть проблема на моем .htaccess наверняка. Я прокомментировал это и поместил сообщение в индексный файл, и он попадает туда как по www, так и без него.

Догадаешься почему?

5

Решение

Это интересная проблема, когда вы используете опцию Flexible SSL CloudFlare вместе с WordPress. WordPress, в своей основе, имеет is_ssl функция, которая не учитывает обратные прокси. Поэтому при перенаправлении на SSL вы можете получить цикл перенаправления при использовании Flexible SSL.

Самый простой способ исправить это установить Mod_cloudflare на апач.

Вместо этого вы можете добавить оператор if в файл wp-config.php для решения этой проблемы:

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

Если вы используете этот метод вместо установки Mod_cloudflare, убедитесь, что вы используете заголовок «X-Forwarded-Proto» вместо SSL для любых перенаправлений.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector