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/

Другие вопросы по тегам