Netlify не распознает параметры URL при использовании response-router-dom
Я создаю приложение реагирования, которое использует реагирует маршрутизатор. Я использую маршрутизатор, чтобы соответствовать пути, как :/bankName-:credit
и это прекрасно работает в местном развитии. Единственный требуемый путь для моего приложения :/bankName-:credit
и любой другой путь ударит 404
, Но когда я разверну это приложение для netlify, то по умолчанию оно переходит к /
и показывает обычай 404
, Это все хорошо. Но теперь, если я попытаюсь пойти в /hdfc-500
то он дает сообщение netlify not found, что page not found
,
Я пытался с помощью _redirects
как упоминалось в документации по netlify, но это не работает.
Вот мои маршруты:-
App.js
<Route path='/:bankCode-:credit' component={NestedRoutes} />
<Route component={NotFound} />
Вот мой NestedRoutes
составная часть:-
const NestedRoutes = ({ match }) => (
<Suspense fallback={<LinearProgress />}>
<Switch>
<Route exact path={`${match.path}/sc-generate`} component={SCGenerate} />
<Route exact path='/:bankCode-:credit' component={Home} />
<Route component={NotFound} />
</Switch>
</Suspense>
)
Я использую следующий код в моем _redirects
файл:-
/* /:bankCode-:credit
Но это попытаться точно соответствовать /:bankCode-:credit
Что я должен сделать, чтобы это исправить?
4 ответа
Я воссоздал вашу проблему здесь https://codesandbox.io/s/trusting-frost-ls353
Решение простое, добавьте файл с именем _redirects
в вашу общую папку с этим контентом
/* /index.html 200
Вы можете найти больше информации по этой ссылке. https://www.slightedgecoder.com/2018/12/18/page-not-found-on-netlify-with-react-router/
I got this problem while passing url params in netlify and got solved by removing the "." before the href and src links in the index.html file inside the build folder.
Для Angular это решение работает для меня Добавить_redirects
файл в вашей папке src со следующей строкой кода
/* /index.html 200
Затем убедитесь, что вы включили файл _redirects в свой массив ресурсов angular.json, чтобы Angular включил копию файла при создании вашего проекта:
"assets": [
"src/_redirects"
]
Вы можете найти дополнительную информацию по этой ссылке https://docs.netlify.com/integrations/frameworks/angular/
Одним из распространенных решений, которое Netlify упомянул в своем блоге, является структурированная конфигурация с
А. Создатьnetlify.toml
в вашем корневом каталоге
B. Добавьте следующий код, определяющий пользовательские правила перенаправления:
[[redirects]]
from = "/*"
to = "/index.html"
status = 200
C. Разверните файл на Netlify вместе с вашим проектом.
Ссылка на блог: https://www.netlify.com/blog/2019/01/16/redirect-rules-for-all-how-to-configure-redirects-for-your-static-site/