Страницы подкаталога не найдены статический сайт, размещенный в Google Cloud Storage Bucket
Я устанавливаю статический сайт в Google Cloud Storage Bucket с помощью Loadbalancer. Сайт создается с помощью Gridsome, а затем папка dist сохраняется в корзине.
Я установил индекс и ошибку с gsutil, как в [документации]: https://cloud.google.com/storage/docs/gsutil/commands/web
Теперь я сталкиваюсь с проблемой того, как каждый URL для доступа к подкаталогам перенаправляется в dir/index.html. Это желаемое поведение, страница dir/index.html даже существует в корзине. Но я все равно получаю 404 - не нашел.
Если я делаю curl для URL subdir/index.html, я получаю HTML
1 ответ
Я не знаю точно, как вы тестируете свою подпапку, но я думаю, что эта ссылка может помочь вам в вашей проблеме Ошибка 404 при загрузке подпапки в GCS. Кроме того, вы, возможно, должны посмотреть здесь, как работают подкаталоги.
На основе того, как подкаталоги работают в GCS, когда браузер запрашивает URLhttp://www.example.com/dir
он будет перенаправлен (301) на объект http://www.example.com/dir/index.html
по содержанию.
Я предполагаю, что маршрута нет http://www.example.com/dir/index.html
на Vue (vue-router). Так что он будет переброшен на страницу 404 Not Found.
Простое решение - попытаться изменить ссылку на все подкаталоги с
http://www.example.com/dir
, http://www.example.com/about
и т.д., чтобы
http://www.example.com/dir/
, http://www.example.com/about/
Он не будет перенаправлять на страницу 404, когда вы запрашиваете URL-адрес подкаталога или перезагружаете браузер. Но все мы знаем, что это не лучшая практика.