htacess rewrite требуют www с поддержкой CDN cloudfront

У меня есть две строки в htaccess, требующие www.*

<IfModule mod_rewrite.c>
    RewriteEngine On
    #require www
    RewriteCond %{HTTP_HOST} ^oisie\.com
    RewriteRule ^ http://www.oisiecom%{REQUEST_URI} [L,R=301]
</IfModule>

Я добавляю Amazon Web Services (AWS) CloudFront CDN, и он не работает из-за перенаправления 301.

Если я пойду прямо к

http://XXXXXXXXX.cloudfront.net/img/preloader.gif

Я перенаправлен на реальный домен моего сайта, например, oisie.com

Как пропустить перенаправление www.* При поступлении запроса от *.cloudfront.net?

Вы можете проверить детали на http://www.oisie.com/en

2 ответа

Решение

Я уже забыл об этом вопросе, но я исправил проблему. Я не могу вспомнить точные шаги, что я сделал, но теперь у меня есть поддомен для статического содержимого - js, css и т. Д. Он указывает на тот же каталог, что и обычный домен. например:

http://s.oisie.com/img/oisie.png

тот же URL, что и

http://www.oisie.com/img/oisie.png

В конфигурации Cloudfront я использую s.oisie.com домен и работает нормально.

Итак, решение: создайте виртуальный хост для статического домена, который будет использоваться облачным фронтом, и используйте его в конфигурации облачного фронта (на консоли AWS).

надеюсь, это поможет!:)

У меня была такая же проблема, и я исправил ее с помощью правила перенаправления ниже.htaccess:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^sitename.com$
RewriteRule ^(.*)$ http://www.sitename.com/$1 [R=301]
Другие вопросы по тегам