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

CloudFront CDN выходит из строя из-за поведения Apache в DirectorySlash

Мой домен CDN настроен на www.mysite.com, и он читается из origin.mysite.com. mod_dir включен на apache, поэтому любой запрос без косой черты перенаправляется с помощью 301 на эквивалентный URL с косой чертой в конце.

Проблема в том, что когда кто-то www.mysite.com/somepage Я ожидал, что они будут перенаправлены на www.mysite.com/somepage/, но apache выдает перенаправление, которое также включает доменное имя, поэтому перенаправление, выданное apache, на самом деле origin.mysite.com/somepage/ и теперь пользователь попадает на origin.mysite.com домен, и вся точка CDN теперь потеряна.

Я попытался DirectorySlash off но это приводит к множеству других проблем. Решение, которое я могу придумать, - сделать проблему перенаправления относительным URL-адресом, и я не могу понять, возможно ли это вообще.

У меня такая же проблема.

Я исправил проблему с изменением некоторых параметров wordpress.

В эластичном стебле выставил параметр CUSTOM_URL для моего личного домена и в файле /var/www/html/wp-includes/load.php Я установил параметры HTTP_HOST и SERVER_NAME к той же стоимости CUSTOM_URL, и он разрешил перенаправление на URL-адрес elasticbeanstalk.

$_SERVER['HTTP_HOST'] = $_SERVER['CUSTOM_URL'];

$_SERVER['SERVER_NAME'] = $_SERVER['CUSTOM_URL'];