2017-01-13 19 views
1

私のNginx設定に問題があります。私は1つのnginxインスタンスで動作するはずの2つの独立したangularjs2プロジェクトを持っています。 アプリケーションは2つのフォルダ/ adminと/ webappに分かれています。HTML5Modeを使用した複数のAngularJS2プロジェクトでのNginx設定

私がしようとしているのは、mydomain.comを呼び出すと、/ webappのアプリを開くべきです。私がmydomain.com/adminを呼び出すと、adminアプリケーション(これもanglej2アプリです)が開きます。私がこれまで試したどのような

は次のとおりです。

server { 
    listen  80; 
    server_name localhost; 
    root /usr/share/nginx/html/webapp;  
    index index.html index.htm; 

    location/{ 
    index index.html index.htm; 
    try_files $uri /index.html; 
    } 

    location /admin/ { 
    alias /usr/share/nginx/html/admin/; 
    try_files /admin/$uri /admin/index.html; 
    } 
} 

私は助けを得ることができると思います。前もって感謝します!

答えて

0

試してみてください。

root /usr/share/nginx/html/webapp;  
index index.html index.htm; 

location/{ 
    try_files $uri $uri/ /index.html; 
} 

location /admin { 
    root /usr/share/nginx/html; 
    try_files $uri $uri/ /admin/index.html; 
} 

rootディレクティブはaliasディレクティブよりも優先されます。詳細は、this documentを参照してください。

indexディレクティブは継承されており、繰り返す必要はありません。

$uri/用語はindexディレクティブが正しく動作するようにディレクトリのURIに/を追加するnginxを奨励します。私はまたあなたのtry_filesの用語のいくつかを修正しました。詳細については、this documentを参照してください。

+0

大変感謝しています!それは助けになった! – hesyar

+0

私はtry_filesから/ admin /を削除し、 "/ admin"の場所にrootに追加しようとしましたが、これは動作しません。なぜあなたは知っていますか? – hesyar

+0

'/ admin/index.html'はどこですか?私の答えは '/ usr/share/nginx/html/admin/index.html'にあると仮定しています。 '$ uri'変数には既に'/admin/'が含まれています。' 'root''の中に現れてはいけません。 –

関連する問題