Показывать index. html файл с Flask на веб-сайте root - PullRequest
0 голосов
/ 03 августа 2020

У меня есть интерфейс 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

, но ни один из них не сработал, и я не уверен, что делать сейчас.

...