シナリオ

シナリオ

シナリオ

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 ページが見つからないというページにリダイレクトされます。知らないうちにリダイレクトが発生している可能性があります。

ご協力いただければ幸いです。

関連情報