(最終更新月:2022年2月)
✓こんな方へ向けての記事です。
「Reactを本番環境へデプロイしたら、内部リンクが機能しなくなった!」
「内部リンクをたどると404エラーになっちゃう。どうしたら良いの?」
✓当記事で解決すること
- Reactを本番環境で使っても、内部リンクが正常に機能するようになる
上記のサイト設定時に最初少しハマりました。昔の自分に向けて解決策を載せておきます。
解決策は簡単です。
Apacheのconfファイルに下記を追記しましょう。
<Directory /var/www/html/> #DocumentRootと同じディレクトリを指定します。
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^ index.html [L]
</Directory>
confファイル全体はこんな感じになります。
<VirtualHost>
ServerAdmin ...@...
ServerName ...
DocumentRoot /var/www/html #ここはindex.htmlを置いているフォルダを指定します。
<Directory /var/www/html/> #DocumentRootと同じディレクトリを指定します。
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^ index.html [L]
</Directory>
ErrorLog ...
CustomLog ...
</VirtualHost>
ファイル名「react-app.conf」をご自身のものに置き換えてください。
以上で解決するはずです。