user883807
質問する
10070 次
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 に答える