当访问代理中使用apache和nginx托管的wordpress时,重定向到127.0.0.1

Cyr*_*ARO 3 php apache wordpress .htaccess nginx

我在Apache2上托管了一个wordpress,前面是Nginx. <WORLD> ===> <NGINX PROXY> --> APACHE/DOCKER/STATIC WEBSITE etc...

wordpress代理的我的nginx conf是:

server {
    server_name dev-www.example.com;

    location / {
        proxy_pass http://127.0.0.1:13400;
    }
}
Run Code Online (Sandbox Code Playgroud)

我的apache配置:

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>
Run Code Online (Sandbox Code Playgroud)

和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
Run Code Online (Sandbox Code Playgroud)

问题是当我继续 dev-www.example.com/foobar.php我被重定向到127.0.0.1/foobar.php.我知道它是从nginx配置127.0.0.1pop出来怎么解决它?

我尝试代理传递给dev-www.example.com:13400但是我得到了一个无限循环:

[Tue May 10 23:44:45.001680 2016] [core:error] [pid 1096] [client 127.0.0.1:54887] AH00124:由于可能的配置错误,请求超出了10个内部重定向的限制.如有必要,使用'LimitInternalRecursion'增加限制.使用'LogLevel debug'来获取回溯.,参考:http: //dev-www.example.com/

注意:没有问题http://dev-www.example.comhttp://dev-www.example.com/index.php 谢谢.

注意2:如果我将nginx配置更改为localhost:13400,那么我将重定向到localhost/login-3.它看起来像.htaccess重定向到ServName,它是127.0.0.1

Cyr*_*ARO 17

这是wordpress重定向HTTP_HOST,添加

$_SERVER['HTTP_HOST'] = $_SERVER['HTTP_X_FORWARDED_HOST'];
Run Code Online (Sandbox Code Playgroud)

wp-config.php修复它.