Почему мой сайт gatsby развернут с префиксом пути, запрашивающим несуществующий файл, когда мой URL-адрес не заканчивается косой чертой

#url #gatsby

#url #gatsby

Вопрос:

Я развернул сайт Gatsby с помощью gitlab-ci и aws cloudfront как с префиксом пути, так и без него.

Сайт без префикса запрашивает правильные файлы и корректно отображает их в моем браузере, независимо от того, ставлю ли я косую черту в конце URL-адреса или нет.

Однако для сайта с префиксом он запрашивает файлы, которые не существуют в моем public/ каталоге, если я не ставлю косую черту в конце URL-адреса (т. Е. www.example.com/path-prefix не работает должным образом). Все работает правильно, если я помещаю косую черту в конце URL-адреса (т. е. www.example.com/path-prefix / работает). Я также заметил, что сайт без косой черты запрашивает похожие файлы, но имена файлов неверны. Например, если www.example.com/path-prefix / запрашивает example-abcdefg123456.js , который автоматически генерируется в процессе сборки, затем www.example.com/path-prefix запрашивает example-aslkfdjaskdfh234.js то, чего не существует в public/ каталоге.

Кроме того, для сайта, отличного от домашней страницы, вышеупомянутого явления не существует. Например, оба www.example.com/path-prefix/blog и www.example.com/path-prefix/blog / работает правильно, так как gatsby всегда автоматически добавляет косую черту к URL-адресу, который не заканчивается косой чертой.

Я также заметил, что когда-нибудь gatsby автоматически добавит косую черту к домашней странице, чтобы www.example.com/path-prefix всегда становится www.example.com/path-prefix /. Следовательно, вышеупомянутая ошибка исчезнет автоматически.

Кто-нибудь когда-либо сталкивался с этой странной ошибкой раньше или, возможно, знает, как отладить эту проблему?

Комментарии:

1. Привет, интересно, не уверен, возможно, этот плагин может представлять интерес gatsbyjs.com/plugins/gatsby-plugin-force-trailing-slashes

2. Спасибо. Я посмотрю на это