キーワード†
- Angular2
- routing
- 404 not found
現象†
Angular2でルーティングしたときにURLが切り替わる。このURLをリロードすると404エラーになる。ただし、開発時ng serverなどで動かしているときは問題がない。
原因†
ないものはないから。なかったときにindex.htmlをレスポンスするようにサーバー設定する必要がある。ng serverなどで動くサーバーはそれをやってくれているのだと思う。
対策†
<Directory "/Applications/XAMPP/xamppfiles/htdocs"> # ここはいろいろ # rewrite to index.html for Angular2 Options Indexes FollowSymLinks RewriteEngine On RewriteBase / RewriteRule ^index\.html$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.html [L] </Directory>
備考†
開発環境がいろいろやってくれている部分が見えないとハマったときに困る。。