2016-05-10 2 views
1

Ich habe ein WordPress gehostet auf Apache2 mit Nginx vor. <WORLD> ===> <NGINX PROXY> --> APACHE/DOCKER/STATIC WEBSITE etc... Redirect zu 127.0.0.1, wenn ein WordPress gehostet mit Apache und Nginx in Proxy

Mein nginx conf für Wordpress-Proxy ist:

server { 
    server_name dev-www.example.com; 

    location/{ 
     proxy_pass http://127.0.0.1:13400; 
    } 
} 

Meine Apache-Konfiguration:

Listen 13400 

<VirtualHost 127.0.0.1:13400> 
     CustomLog /var/log/httpd/sites/dev-www/access_log combined 
     ErrorLog /var/log/httpd/sites/dev-www/error_log 

     DirectoryIndex index.php 

     DocumentRoot /var/www/sites/example.com/dev-www 

     RewriteEngine On 

     <Directory /var/www/sites/example.com/dev-www/> 
       Options Indexes FollowSymLinks 
       AllowOverride all 
     </Directory> 

</VirtualHost> 

und Wordpress .htaccess:

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

# END WordPress 

Das Problem ist, wenn ich auf dev-www.example.com/foobar.php gehen Ich werde zuumgeleitet. Ich weiß, es ist von nginx Konfiguration 127.0.0.1 Pop-out-Put, wie es zu beheben?

ich Proxy versuchen zu dev-www.example.com:13400 passieren, aber ich habe eine Endlosschleife:

[Di 10. Mai 23: 44: 45,001680 2016] [core: error] [pid 1096] [client 127.0.0.1 : 54887] AH00124: Die Anforderung hat das Limit von 10 internen Weiterleitungen aufgrund eines möglichen Konfigurationsfehlers überschritten. Verwenden Sie 'LimitInternalRecursion', um das Limit bei Bedarf zu erhöhen. Verwenden Sie 'LogLevel debug', um eine Rückverfolgung zu erhalten, referer. http://dev-www.example.com/

Anmerkung: es gibt kein Problem mit http://dev-www.example.com oder http://dev-www.example.com/index.php Dank.

hinweis2: Wenn ich nginx Konfiguration zu localhost ändern: 13400, dann bin ich zu localhost/login-3 umgeleitet. Es sieht aus wie .htaccess Redirect zu ServName und es ist 127.0.0.1

+0

"Wenn ich auf dev-www.example.com/foobar.php gehe ich umgeleitet" bedeutet, wenn Sie diese URL direkt in die Adressleiste des Browsers eingeben? –

+0

Ja, oder klicken Sie auf den Link, das gleiche Verhalten. http://dev-www.example.com/login-3 umleiten mich zu http://127.0.0.1/login-3 –

+0

Wenn ich nginx Konfiguration zu 'localhost: 13400' ändere, dann werde ich zu' localhost umgeleitet/login-3'. Es sieht aus wie '.htaccess' Redirect zu ServName und es ist '127.0.0.1' –

Antwort

1

Es klingt, wie Sie Ihre Wordpress-Site von einem lokalen Entwicklungssystem zu produktiven System exportiert hatte. Sehr wahrscheinlich können Sie auch nicht mehr in/wp-admin einsteigen. In diesem Fall müssen Sie die Datenbankeinträge in der Tabelle wp_options manuell aktualisieren. Suchen Sie nach den Optionen siteurl und home.


Bitte beachten Sie auch, dies zu wp-config.php versuchen, hinzuzufügen (aber ich habe Angst, dies nur für ausgehende Anforderungen ausgerichtet ist)

define('WP_PROXY_HOST', '1.2.3.4'); 
define('WP_PROXY_PORT', '13400'); 
# define('WP_PROXY_USERNAME', 'my_user_name'); 
# define('WP_PROXY_PASSWORD', 'my_password'); 
define('WP_PROXY_BYPASS_HOSTS', 'localhost, www.example.com'); 
+0

Ich ändere es schon. Nichts ändert sich (aber ich kann auf http://dev-www.example.com/ oder /index.php zugreifen) ohne irgendein Problem. –

+0

@CyrilALFARO Was sind diese Optionen? –

+0

'http: // dev-www.example.com', vorher war es' http: // www.example.com' –

7

Es ist Wordpress HTTP_HOST, umleiten

Hinzufügen
$_SERVER['HTTP_HOST'] = $_SERVER['HTTP_X_FORWARDED_HOST']; 

in wp-config.php beheben Sie es.