我有一个Server-a,它只包含一个Nginx和一个正在执行的节点应用程序。
但是,我想从该服务器提供Node应用程序,该应用程序也在服务于Angular应用程序。
但是,当我导航到服务器一个/博客 ,我想做一个反向代理(内部代理)到一个不同的服务器(Server-b),其中包含一个Wordpress设置,还与一个Nginx的。
所以,我总是导航到服务器a /博客 ,服务于服务器b的内容
我已经部分使用这个configuration:
proxy_buffering on; proxy_buffer_size 1k; proxy_buffers 24 4k; proxy_busy_buffers_size 8k; proxy_max_temp_file_size 2048m; proxy_temp_file_write_size 32k; location /blog/en/ { try_files $uri @proxy; } location @proxy { proxy_redirect off; proxy_set_header X-Forwarded-Host "$host"; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://server-b; }
但是会发生什么呢?如果我导航到server-a / blog / wp-admin ,我可以立即redirect到server-a / wp-admin 。
WordPress安装中的所有相关链接都必须相应地与服务器一个URL。
这是我在我的Wordpress数据库设置上的设置:
+-----------+-------------+-----------------------+----------+ | option_id | option_name | option_value | autoload | +-----------+-------------+-----------------------+----------+ | 1 | siteurl | http://server-a/blog/ | yes | | 2 | home | http://server-a/blog/ | yes | +-----------+-------------+-----------------------+----------+
这几乎可以肯定是由于不同types的相关url。
根据http://www.webreference.com/html/tutorial2/3.html
相对URL中的一个名为..(两个句点)的目录指示父目录,实际上剥离了直到基本URI中的前一个斜杠的所有内容。 请注意,这只在path名中有意义,所以你不能使用这个表示法来比根目录更高。
一个名为的目录。 (一个周期)是指当前目录。
以/(斜杠)开头的相对URL总是replace基本URL的整个path名。
以//(双斜杠)开头的相对URL始终replace主机名中的所有内容。
因此,“/ wp-admin”的相对URL将会replace整个基础。 你希望它被replace为“./wp-admin”,这样它就不会重写整个事情。
至于实际上改变它,我不知道,但我怀疑你需要改变它在WordPress的一面。