'Why does react routers can't handle predefind route

In App.js component I was defined route like this:

      <Route path="/item/:itemId" exact element={<Item />} />

But when I manually enter the URL in the browser like :

http://example.com/item/3

The browser shows me an error page:

404 - File or directory not found.

How can I fix the error?



Solution 1:[1]

Finally I got it.

According to this article, I should install the URL Rewrite module first. then create a web.config beside project build files. and put these inside it :

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
          <rules>
            <rule name="ReactRouter Routes" stopProcessing="true">
              <match url=".*" />
              <conditions logicalGrouping="MatchAll">
                <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
              </conditions>
              <action type="Rewrite" url="index.html" />
            </rule>

          </rules>
        </rewrite>
    </system.webServer>
</configuration>

So now my problems solved

Solution 2:[2]

If you are using router v6 there is not exact keyword

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 albert
Solution 2 Michal Šajdík