シナリオ
mydomain.com でホストされている 1 つのドメイン
ルートは /var/www/mydomain/wordpress で、mydomain.com を指します。
/var/www/site2/wordpress のパスを mydomain.com/site2 にポイントしたい
/var/www/ に構築した他のディレクトリについても同様です (つまり、/var/www/site3、site4 などから mydomain.com/site3、site4 へ)
サイト対応ファイル
以下は/etc/nginx/sites-availableにある私の設定ファイルです
server {
root /var/www/mydomain/wordpress;
index index.php;
server_name mydomain.com www.mydomain.com;
location / {
#try_files $uri $uri/ =404;
try_files $uri $uri/ /index.php$is_args$args;
}
location /site2 {
root /var/www/site2/wordpress;
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
listen [::]:443 ssl ipv6only=on; # managed by Certbot
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/mydomain.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/mydomain.com/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
if ($host = www.mydomain.com) {
return 301 https://$host$request_uri;
} # managed by Certbot
if ($host = mydomain.com) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
listen [::]:80;
server_name mydomain.com www.mydomain.com;
return 404; # managed by Certbot
}
site2 の /location を調整して、エイリアスとルートの両方を使用し、$uri を削除してみましたが、404 が表示されるか、/var/www/mydomain/wordpress リポジトリの wordpress 404 ページが見つからないというページにリダイレクトされます。知らないうちにリダイレクトが発生している可能性があります。
ご協力いただければ幸いです。