2017-07-26 5 views
2

React SPAで動作するようにnginxを設定しています。私は、可変パス(/ rsvp /)が含まれていない場合、ページが正常に読み込まれます。しかし、私が(/ rsvp/S0mEtH1NG)しようとすると、インデックス、マニフェスト、CSSファイルをダウンロードします...実際にはindex.htmlにそれらの事を適用しません。私は、実際には何もロードされていないindex.htmlを見ているだけです。Nginx try_filesは、可変パスで渡されたとき空白ページを読み込みます。

私の設定は、このようなものになります。私はtry_files $uri $uri/ /index.htmlを持っている場合は、のいずれかを使用していないという点で、それはルート(/)のが、同様の問題とのindex.htmlをロードします

server { 
    listen 80; 
    server_name something.com; 

    location/{ 
     root /srv/something.com/webroot; 
     index index.html; 
    } 

    location /rsvp { 
     alias /srv/rsvp/build; 
     try_files $uri $uri/ /rsvp/index.html; 
    } 
} 

をCSS。

ご協力ありがとうございました。

+0

';'がありません。 –

+0

ありがとう! (固定ですが、手動で設定を入力するだけでした) – RollinRight

答えて

1

aliastry_fileslong standing issueがあります。同じブロック内でこれらのディレクティブを使用することは避けます。試してみてください:

location /rsvp { 
    alias /srv/rsvp/build; 
    if (!-e $request_filename) { rewrite^/rsvp/index.html? last; } 
} 

ifの使用にthis cautionを参照してください。

+0

うーん...まだ運がありません。どちらの場合でもindex.htmlがロードされ、ネットワークタブを見ると他のファイルが正常にダウンロードされているように見えます。それはちょうどjavascriptかcssを適用しない。 これはnginxエラーではないと思いますか?私が/ rsvp/no/rsvp/*にナビゲートすると、すべてうまく動作します。 – RollinRight

+0

ええ、それは反応ルータの問題だったようです。エイリアス/ try_filesの知識については、先に進んでマークされた答えが正しい。ありがとうございました。 – RollinRight

関連する問題