8
4

4 に答える 4

4

より良いオプションは、任意の URL を index.html にリダイレクトすることです。

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^.*$ index.html

これにより、どのページでも 404 応答が発生することはありません。

于 2015-06-21T18:42:55.113 に答える
1

Vagrantを使用して angularjs アプリケーションを実行していますNginx。そして、同様の問題に直面しています。任意の URL でブラウザをリロードすると、404 ページが表示されます。

メインの js ファイルで html5mode を有効にしました。html5Mode を有効にすると、その#文字は URL で使用されなくなります。この#シンボルは、サーバー側の構成を必要としないため便利です。がなければ#、URL は見栄えがよくなりますが、サーバー側の変更も必要になります。

変更する必要があるのは次のとおりです。

  • フォルダー内のnginx 構成ファイル ( nginx.conf) を開き/etc/nginx/sites-enabledます (パスは、nginx のインストール ディレクトリによって異なります)。
  • それを見つけtry_files $uri $uri/ =404;て置き換えますtry_files $uri $uri/ /index.html;
  • nginx 構成ファイルを保存する
  • nginxを再起動しますsudo service nginx restart

上記の変更を行った後、ページをリロードしようとしました。期待どおりに動作します。

于 2016-04-07T16:34:55.220 に答える