由于 Apache 的 DirectorySlash 行为导致 CloudFront CDN 中断

由于 Apache 的 DirectorySlash 行为导致 CloudFront CDN 中断

我的 CDN 域设置为www.mysite.com,它从 读取origin.mysite.commod_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,但我根本不知道这是否可行。

答案1

我有同样的问题。

我修复了更改一些 wordpress 参数的问题。

在 elasticbeanstalk 中,我CUSTOM_URL为我的自定义域设置了参数,并在文件中将/var/www/html/wp-includes/load.php 参数HTTP_HOST和设置SERVER_NAME为相同的值CUSTOM_URL,并且它解析了重定向到 elasticbeanstalk url。

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

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

相关内容