2015-09-18 16 views
5

WordPress uygulamamı OpenShift üzerinde oluşturdum ve blog-porta8080.rhcloud.com URL'sine yanıt veriyor. CloudFlare ve OpenShift ve bir WordPress uygulamasıyla yeniden yönlendirme döngüsü

Ben beni www gibi bir alt alana olmadan CNAME kaydı eklemek üzere izin vermez bir Brezilyalı firmadaki alan adımı (porta8080.com.br) satın

enter image description here

OpenShift

2 adlar yarattı.

Bu yüzden CloudFlare'da bir hesap oluşturdum, etki alanımı kaydettim ve etki alanımı CloudFlare DNS sunucularına taşıdım.

enter image description here

Sonra ben bile derler CloudFlare eklentisi bana

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

yardımcı olacağını yüklü

enter image description here

CloudFlare 2 CNAME kayıtlarını ekledi Ama gidince http://porta8080.com.br için p yüklemek için başarısız olur Yönlendirme döngüsü hatası nedeniyle yaş. Krom ve Firefox'ta test ettim ve her ikisi de aynı hatayı atar. wp-admin sayfası bana bir hata vermez

enter image description here

: "301 Kalıcı Olarak Taşındı hatası" Chrome "ERR_TOO_MANY_REDIRECTS" ve istekleri teftiş, bana birkaç verir diyor. Düşünebileceğim tek şey kendi .htaccess dosyası.

Bu benim .htaccess (Openshift bir ben sadece ikisinde de kalıcı bağlantı değişti ve bu benim makinede çıkan Htaccess var, blog/ parçalar olmadan muhtemelen)

# 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 

herhangi bir fikir var mı?

@Edit

kesin benim .htaccess bir sorun vardır. Bunu yorumladıktan sonra indeks dosyasına bir mesaj yazdım ve hem www hem de onsuz oraya ulaştı.

Neden olduğunu tahmin eder misiniz?

+0

Bunu düzeltmeyi başardınız mı? Openshift'teki Rails uygulamasıyla aynı sorunu yaşıyorum ... – stephenmurdoch

cevap

1

Bu, WordPress ile birlikte CloudFlare'nin Esnek SSL seçeneğini kullandığınızda ilginç bir sorundur. WordPress, çekirdekte, ters proxy'leri hesaba katmayan bir is_ssl işlevine sahiptir. Bu nedenle, SSL'ye yönlendirdiğinizde a redirect loop if using Flexible SSL'u alabilirsiniz.

Bunu düzeltmenin en kolay yolu Apache'de install Mod_cloudflare olmalıdır. yerine yüklemenin bu yöntemi kullanırsanız

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

Mod_cloudflare siz "X-Forwarded kullandığınızdan emin olun: wp-config.php dosyasına ifadesi bu sorunu çözmek için eğer

Bunun yerine, ekleyebilir Herhangi bir yönlendirme için SSL yerine -Proto "başlığı.