Страницы подкаталога не найдены статический сайт, размещенный в 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-адрес подкаталога или перезагружаете браузер. Но все мы знаем, что это не лучшая практика.

Другие вопросы по тегам