2015-09-18 14 views
5

Ho creato la mia applicazione WordPress su OpenShift e risponde all'URL blog-porta8080.rhcloud.com.Ciclo di reindirizzamento con CloudFlare e OpenShift e un'applicazione WordPress

ho creato 2 alias su OpenShift

enter image description here

ho comprato il mio dominio (porta8080.com.br) da un registrar brasiliano che non mi permetta di aggiungere record CNAME senza un sottodominio come www.

Così ho creato un account su CloudFlare, ho registrato il mio dominio e spostato il mio dominio sui server DNS CloudFlare.

enter image description here

poi ho aggiunto 2 record CNAME per CloudFlare

enter image description here

ho anche installato il plugin CloudFlare che dicono mi avrebbe aiutato

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

Ma quando vado a http://porta8080.com.br non riesce a caricare il p età a causa di un errore del ciclo di reindirizzamento. Ho provato su Chrome e su Firefox ed entrambi hanno lanciato lo stesso errore. Chrome dice "ERR_TOO_MANY_REDIRECTS" e ispezionare le richieste, mi dà parecchi "errore 301: Moved Permanently"

enter image description here

La pagina di wp-admin non mi dà un errore. L'unica cosa a cui riesco a pensare è il suo file .htaccess.

Questo è il mio .htaccess (quello in OpenShift è probabilmente senza le blog/ parti, ho appena cambiato il permalink in entrambi e questo è il .htaccess risultante sulla mia macchina)

# 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 

ha qualche idea?

@EDIT

C'è un problema sul mio .htaccess di sicuro. L'ho commentato e ho messo un messaggio sul file indice e ci arriva sia da www che senza.

Indovina perché?

+0

sei riuscito a risolvere questo? Sto riscontrando lo stesso problema con un'app Rails su Openshift ... – stephenmurdoch

risposta

1

Questo è un problema interessante quando si utilizza l'opzione SSL flessibile di CloudFlare accanto a WordPress. WordPress, nel suo nucleo, ha una funzione is_ssl che non tiene conto dei proxy inversi. Pertanto, quando si reindirizza a SSL, è possibile ottenere a redirect loop if using Flexible SSL.

Il modo più semplice per risolvere questo problema è install Mod_cloudflare su Apache.

Invece, è possibile aggiungere l'istruzione if al file wp-config.php per risolvere questo problema:

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

Se si utilizza questo metodo invece di installare mod_cloudflare accertarsi di utilizzare la "X-Forwarded -Proto "intestazione invece di SSL per eventuali reindirizzamenti.

Problemi correlati