Nginxの複数の場所

Nginxの複数の場所

問題を解決する方法を見つけるためにここで5時間を費やしましたが、できません。

次の dir 構造があるとします。

/var/www/key1
/var/www/key1/wwwdir
/var/www/key1/dir1
/var/www/key1/dir2

もう一つある

/var/www/key2
/var/www/key2/wwwdir
/var/www/key2/dir1
/var/www/key2/dir2

たとえば、私が入力したときに欲しいものhttp://mysite.com/key1/var/www/key1/wwwdir入力中にファイルをインポートするhttp://mysite.com/key2次からファイルをインポートする/var/www/key2/wwwdir

私のすべてのnginx設定は次のとおりです"keys"

server {
    listen       80;

    include /etc/nginx/conf.d/*.conf;

    location ~ /\.ht {
            deny all;
    }
}

key1.confは

location ~/key2 {

    chunked_transfer_encoding off;
    index index.php index.html index.htm;
    alias /var/www/key2/wwwdir;

    location ~* \.php$ {


        try_files $uri = 404;
        fastcgi_index   index.php;
        fastcgi_pass unix:/var/php-fpm/key2.sock;
        include /etc/nginx/fastcgi_params;
        fastcgi_keep_conn on;
        fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name;
        fastcgi_param   SCRIPT_NAME        $fastcgi_script_name;
    }
}

これはうまくいきません。次のURLをリクエストするとhttp://mysite.com/key2わかりました。無効なゲートウェイエラーです。

/var/log/nginx/error.logエラーがあります/var/www/key2/wwwdir/key2/index.php that file does not exists(key2が2回存在するのに理由がわかりません)。

私が入力している間

http://mysite.com/key2からファイルを受け取りたいです/var/www/key2/wwwdir

例:

http://mysite.com/key2 => /var/www/key2/wwwdir
http://mysite.com/key2/admin => /var/www/key2/wwwdir/admin

もちろん、他の仮想ホストキーと同じであることを望みます1

ベストアンサー1

alias代わりに使用する必要がありますroot

説明:root後ろに uri を使用するlocationと に追加されるためrootdir、2 回表示されますkey2。しかし、aliasuriを使用するとlocation追加されません。

たとえば、

location /test {
  root /wwwdir/mydir;
}

提供するexample.com/test/index.html/wwdir/mydir/test/index.html

location /test {
  alias /wwwdir/mydir;
}

サービスexample.com/test/index.html(一部なし)/www/mydir/index.htmltest

もっと見るここ

おすすめ記事