わかりました、ここに問題があります:私は私のウェブサーバーがこのようなサブディレクトリアプローチを使用してウェブサイト、CMS、モバイルアプリAPIを提供しています
すべてがDocker Composeを使用して構築されています
services:
server:
build: ./docker/nginx
links:
- fpm
ports:
- 80:80
- 443:443
fpm:
build: ./docker/php
links:
- database
- smtp
database:
build: ./docker/mariadb
volumes:
- dbdata:/var/lib/mysql
volumes:
dbdata:
私がしたいことは、2つの新しいコンテナを追加することです: wordpressに1つ、およびwordpress dbに1つmydomain.dom/blogへのすべてのリクエストをプロキシに渡すためにwordpressコンテナ。以下のようなnginx設定を使用してリクエストを渡すことができましたが、残念ながら私はすべてをlocalhost/blogではなくlocalhostにリダイレクトし続けるコンテナとの戦いで、wordpressの一部の構成が不足していると思います。
location /blog/ {
proxy_http_version 1.1;
proxy_buffering off;
proxy_read_timeout 90;
proxy_connect_timeout 90;
proxy_redirect off;
proxy_pass http://blog:80; # the wordpress container name
proxy_set_header Host $Host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $proxy_connection;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $proxy_x_forwarded_proto;
proxy_set_header X-Forwarded-Ssl $proxy_x_forwarded_ssl;
proxy_set_header X-Forwarded-Port $proxy_x_forwarded_port;
# Mitigate httpoxy attack (see README for details)
proxy_set_header Proxy "";
}
# Cms stuff
location /cms/ {
try_files $uri $uri/ /staff/index.php?$args;
include _php.conf; # php-fpm setup
}
# Site stuff
location / {
try_files $uri $uri/ /index.php?$args;
include _php.conf; # php-fpm setup
}
WordPress使用する新しいベースURLを指定する必要があります。これを行う最も簡単な方法は、次の2行をwp-config.phpにwordpressで追加することです。 =ベースディレクトリ:
define('WP_HOME','http://example.com/blog');
define('WP_SITEURL','http://example.com/blog');