2016-09-01 3 views
0

Есть ли способ игнорировать префикс ключа? или перенаправить на URL-адрес без изменения URL-адреса в адресной строке?игнорировать ключ-префикс при маршрутизации в политике маршрутизации S3

Например, у меня есть следующий URL x.com/y/uuid/ Я хочу s3 маршрутизировать меня к x.com/y/index.html без удаления/замены /uuid/

ответ

1

перенаправлять на URL без изменения URL в адресной строке

Тогда это не было бы перенаправление. Переадресация HTTP по определению отправляет браузер в новое место, и адресная строка переписывается.

Некоторое программное обеспечение веб-сервера имеет концепцию внутренней перезаписи URL-адреса для последующей обработки, так что цель решает другой путь, чем в противном случае, но S3 не поддерживает это, за исключением случаев автоматических индексных документов, где example.com/foo вызовет переадресацию браузера на example.com/foo/, который затем будет внутренне переписан S3, чтобы вернуть объект с ключом foo/index.html, если он существует. (Переадресация браузера сохраняет относительные пути здравомыслящим, без него относительный путь в /foo/index.html будет неправильно интерпретирован как относительно корня, а не относительно /foo/ - все корректные веб-серверы делают это при рендеринг индексных документов.)

Собственные документы об ошибках S3 также, по сути, являются внутренним переписанием.

Но то, что вы рассматриваете, не поддерживается S3.

CloudFront перед S3 можно даже делать прямо противоположное тому, что вы ищете, так что, например, example.com/bar.html может быть представлен на задний конец, как запрос на example.com/foo/bar.html без браузера редиректа (по настройке пользовательское происхождение и установка пути происхождения к /foo), но ни одна из служб не поддерживает удаление/скрытие/маскирование частей пути без перенаправления браузера.

Смежные вопросы