場所が存在しない場合のNginxの設定

場所が存在しない場合のNginxの設定

私の設定

    rewrite /silosy /produktsiya/silosy last;

    location /go/ {
        rewrite /go/http\:/(.*) http://$1 permanent;
    }

    if (!-e $request_filename){
        rewrite ^/(.*) /index.php?$query_string;
    }

「/go」と「/silosy」をオーバーライドすると、「if(!-e $request_filename)」が使用されるため動作しません。位置制限を追加する方法は次のとおりです。

location [not (go|silosy)] {
    if (!-e $request_filename){
        rewrite ^/(.*) /index.php?$query_string;
    }
}

nginxの場所で「いいえ」はどのように検索されますか?

答え1

「not」がどのように見えるかわかりませんが、解決策を見つけました。

    rewrite ^/silosy /produktsiya/silosy permanent;
    rewrite ^/go/(.*) http://$1 permanent;

    if (!-e $request_filename){
        rewrite ^/(.*) /index.php?$query_string;
    }

答え2

あなたのものをif (!-e $request_filename)ブロックに入れてみてくださいlocation /。それ耐え難い

関連情報