2015-09-18 3 views
5

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

Я создал 2 алиасов OpenShift

enter image description here

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

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

enter image description here

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

enter image description here

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

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

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

enter image description here

страница сор-администратор не дает мне ошибку. Единственное, о чем я могу думать, это его собственный файл .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 

Есть какие-нибудь идеи?

@Edit

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

Вы догадались, почему?

+0

вам удалось это исправить? У меня такая же проблема с Rails-приложением в Openshift ... – stephenmurdoch

ответ

1

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

Самый простой способ исправить это - install Mod_cloudflare на Apache.

Вместо этого, вы можете добавить, если заявление в файл 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 для любых переадресаций.