To catch all the redirects use /* /index.html 200
in _redirects
file.
According to the netlify docs, the _redirects
file should be in your root build directory.
create-react-app by default creates all build files under the folder named build
so just modify the build scripts
in package.json
to add the _redirects
in the build folder after building the app.
example.
"scripts": {
....
"build": "react-scripts build && echo '/* /index.html 200' | cat >build/_redirects ",
...
}
If you have multiple redirects to make things easier you can create a _redirects
file with all the redirects in your root(/
) folder of the CRA
then in the package.json
will become
"scripts": {
....
"build": "react-scripts build && cp _redirects build/_redirects",
...
}
make sure that the build command in your netlify is yarn run build
or npm run build
after making the changes in package.json
simply rebuild your code.
UPDATED: much better way
IN CRA(Create React App), the build script copies every file in public directory to the build folder so just put the _redirects with the rules in the public directory without changing anything and you are good to go.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…