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]