У меня есть интерфейс React и Flask серверная часть, используемые для API REST веб-приложения, обслуживаемого на Heroku. Запустив команду react-scripts build
, я могу создать готовую к работе папку для веб-приложения.
Один из файлов, создаваемых React, - index.html
. Я хочу разместить этот файл на веб-сайте root, например https://www.example.com
. Однако когда я go перехожу на эту страницу, я получаю ошибку 404. Вместо этого я обнаружил, что мне нужно от go до https://www.example.com/index.html
.
Вышеупомянутое далеко не идеально, поскольку пользователям придется вручную вводить .html
и имя страницы, которую они пытаются на go каждый раз. Можете ли вы использовать Flask или другой метод для перенаправления index.html
для обслуживания на веб-сайте root? Я не могу использовать декоратор @app.route()
, поскольку я использую flask-restful
, который создает классы для api, а цель бэкэнда Flask - размещать api, а не отдельные страницы.
Flask Сервер
app = Flask(__name__, static_folder="../build", static_url_path="/")
Соответствующая структура папки
api
- .flaskenv
- api.py
- README.md
build
- static [folder]
- index.html
- robots.txt
- manifest.json
...
node_modules
public
requirements.txt
Procfile
README.md
tsconfig.json
.gitignore
package.json
package-lock.json
Я понимаю, что это происходит по адресу /index.html
, потому что файл в build
называется index.html
, однако я не могу понять, как правильно перенаправить URL-адреса.
Я пробовал:
- добавление файла
.htaccess
который перенаправляет - , удаляя аргументы
static_folder
и static_url_path
, но ни один из них не сработал, и я не уверен, что делать сейчас.