Я пытаюсь установить 301 перенаправление на S3 с помощью объектов, на которые ссылаются здесь http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html. Я имел некоторые проблемы и, может казаться, не выясняю то, что я делаю неправильно.
То, что я получаю, является пустой страницей (0-байтовый файл), как будто 'значение метаданных' Местоположения Перенаправления Веб-сайта не установлено.
Что я делаю неправильно?
Кроме того, это работает над AWS CloudFront?
Моя консольная установка S3
Вещи пары отметить:
У меня есть эта установка для хостинга статического сайта. Я использую ssl/https со своим собственным сертификатом, загрузил и установил на cloudfront распределении. Все страницы, кажется, работают кроме объектов перенаправления. Я попытался настроить правила маршрутизации, но они, казалось, не работали в Cloudfront.
Я пытаюсь получить доступ к перенаправлениям и через cloudfront URL и через s3 url (https://s3.amazonaws.com/{блок}/users/sign_in)
Если Вы приезжаете сюда для нахождения решения, не используя CloudFront, здесь это:
можно использовать s3cmd (в сценарии удара, конечно) и его параметры:
--add-header
с x-amz-website-redirect-location
, Например, этот сценарий решает проблему для страницы /about/
:
s3cmd \
--acl-public \
--add-header "x-amz-website-redirect-location: /about/" \
--no-preserve \
put "./path/to/any/small/file/at/your/local/drive/index.html" "s3://domain.com/about"
Эта копия сценария приблизительно [1 114] существующий файл с [1 115] новый имя файла без запаздывающей наклонной черты. Не важно, что действительно регистрирует, содержат, потому что браузер будет сразу перенаправлен.
, Когда Вы (и более важный поисковые роботы ) пытаетесь открыть страницу /about
, Вы добираетесь 301
перенаправление до /about/
. Это позволяет сохранять право страница в кэше из Google, Яндекса и других поисковых систем.
можно повторить этот код для нескольких страниц. Или можно добавить функциональность для поиска папок и сделать призыв к каждому. Вероятно, Вы будете так добры для показа его здесь :)