Приложение React - URL не найден после refre sh страницы - PullRequest
1 голос
/ 27 мая 2020

Я создал веб-приложение с помощью create-react-app. Все работало нормально - запускаю npm запускаю сборку и помещаю папку сборки на сервер. Страница работает, но после того, как я go перейду на любую ссылку и обновлю sh страницу, я получаю Запрошенный URL / nieruchomosci / не найден на этом сервере.

У меня есть .htaccess с этим кодом:

RewriteBase /
RewriteRule ^index\.html$ - [L]
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]

package. json:

{
  "name": "sunstreetinvestment",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@testing-library/jest-dom": "^4.2.4",
    "@testing-library/react": "^9.5.0",
    "@testing-library/user-event": "^7.2.1",
    "browser-image-compression": "^1.0.9",
    "firebase": "^7.13.1",
    "materialize-css": "^1.0.0",
    "moment": "^2.24.0",
    "multiselect-react-dropdown": "^1.4.7",
    "react": "^16.13.1",
    "react-dom": "^16.13.1",
    "react-multi-select-component": "^1.3.3",
    "react-redux": "^7.2.0",
    "react-redux-firebase": "^3.3.0",
    "react-router": "^5.1.2",
    "react-router-dom": "^5.1.2",
    "react-scripts": "3.4.1",
    "react-slideshow-image": "^1.4.0",
    "redux": "^4.0.5",
    "redux-firestore": "^0.13.0",
    "redux-thunk": "^2.3.0",
    "styled-components": "^5.0.1"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": "react-app"
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  }
}

(я пробовал с «домашней страницей»: «.»)

и использую BrowserRouter.

Есть идеи?

1 Ответ

0 голосов
/ 27 мая 2020

Просто укажите все запросы 404 для индексации. html

index. html будет go правильно *1008* URL-адрес во внешнем интерфейсе, а не выполнять маршрутизацию с использованием сервера

Например, example.com/hello/world не настроен на вашем сервере, и это будет 404. просто перенаправьте его на index. html, который загрузит logi c реактивного маршрутизатора. И реагирующий маршрутизатор может правильно распознать URL-адрес и отобразить правильную страницу

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...