Назад | Перейти на главную страницу

Перенаправление Apache с www на не-www на Amazon Elastic Beanstalk

Недавно я переместил простой сайт PHP на Elastic Beanstalk, но мне трудно перенаправить www.example.com к example.com. Это не https, большинство предложений, которые я нашел, связаны с.

Вот что у меня есть:

Маршрут53:

A      example.com      example.eu-west-1.elasticbeanstalk.com (Alias)
CNAME  www.example.com  example.eu-west-1.elasticbeanstalk.com

И в моем .htaccess файл у меня следующий:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTPS} !=on
    RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
    RewriteRule ^ %{ENV:PROTO}://%1%{REQUEST_URI} [R=301,L]
</IfModule>

При посещении example.com все хорошо но в гостях www.example.com дает мне цикл перенаправления:

http://www.example.com/var/www/html/://example.com/var/www/html/://example.com

Это лучший способ перенаправления на AWS?

РЕДАКТИРОВАТЬ

Я сейчас тоже пробовал

RewriteCond %{HTTP:X-Forwarded-Proto} !=https [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteCond %{SERVER_NAME} ^(www\.)?(.*)$ [NC]
RewriteRule ^/?(.*)$ http://%2/$1 [L,R=301]

и пока www.example.com перенаправляет на example.com, теперь у него есть цикл перенаправления (хотя и без пути к серверу в адресной строке).

Это не решение вашего .htaccess проблема, но простое решение для перенаправления - это перенаправление с использованием корзины S3.

  1. Настройте ведро S3 для www.example.com и настроить перенаправление веб-сайтов на example.com
  2. Установите рекорд для www.example.com в Route 53 как НИКНЕЙМЫ для этого ведра.

Таким образом, когда ваш пользователь переходит на www.example,com, они попадут в корзину, и это перенаправит их на example.com, который затем перейдет на ваш сервер.