Nginx を使用して仮想パスでファイル コンテンツを正しく使用するにはどうすればよいですか?

Nginx を使用して仮想パスでファイル コンテンツを正しく使用するにはどうすればよいですか?

私はDockerイメージ(ウェブサーバーとしてNginxを使用)として構築されたAngularJsアプリ(v1)を持っています。それは以下の構造を持っています

-app
  --build
    --js
      |-app.min.js
      |-login.min.js
    --styles
      |-app.min.css
      |-login.min.css
  --assets
    --images
    --fonts
  --index.html
  --login.html

私は次のものを持っていますnginx の設定

server {
  listen 80;
  error_log  /var/log/nginx/error.log;
  access_log /var/log/nginx/access.log;

  root /usr/share/nginx/html;

  location /content {
    rewrite ^/content$ /index.html;
  }

  location /content/login {
    rewrite ^/content/login$ /login.html;
  }

}

これはインデックス.htmlファイル

<html lang="en" data-ng-app="app">
  <header>
    <script src="build/js/app.min.js"></script>
    <link rel="stylesheet" href="build/styles/app.min.css">
  </header>
  <body>
    ...
  </body>
</html>

そしてログイン.htmlファイル


<html lang="en" data-ng-app="app-login">
  <header>
    <script src="build/js/login.min.js"></script>
    <link rel="stylesheet" href="build/styles/login.min.css">
  </header>
  <body>
    ...
  </body>
</html>

私が達成したいこと

http://localhost:3000/contentユーザーがアプリにアクセスすると、 が配信されindex.htmllogin.htmlユーザーが にアクセスすると、 が配信されますhttp://localhost:3000/content/login

/contentとは両方とも/content/login、Angularjs アプリには存在しないルートです。

何を手に入れたか

http://localhost:3000/content/loginアプリにアクセスすると、次の2つのファイルが読み込まれます

  • http://localhost:3000/content/build/js/login.min.js
  • http://localhost:3000/content/build/styles/login.min.css

どちらも404エラーコードが表示されました。

何を期待していたのか

http://localhost:3000/content/build/js/login.min.jsNginxに、ファイルの内容を含むファイルを直接提供してもらいたいですhttp://localhost:3000/build/js/login.min.js。これは CSS ファイルにも適用されます。

関連情報