使用 Apache 作为子目录托管 Wordpress 博客

使用 Apache 作为子目录托管 Wordpress 博客

我在 CloudFront 后面的 S3 上有一个现有的静态 Web 应用程序,假设在example.com

我想添加一个 WordPress 博客,可以通过以下方式访问example.com/blog

对于 WordPress 博客,我已经使用 Apache 和 WordPress 设置了一个 ec2 服务器。

我已经在 CloudFront 中将 ec2 服务器添加为原点,如描述所述这里

当我跑步时:

curl example.com/blog

我越来越:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="http://ec2-x-x-x-x.us-west-1.compute.amazonaws.com/blog/">here</a>.</p>
<hr>
<address>Apache/2.4.18 (Ubuntu) Server at http://ec2-x-x-x-x.us-west-1.compute.amazonaws.com Port 80</address>
</body></html>

因此,我认为我的问题不在于 CloudFront,而在于 Apache 服务器的配置。

我的问题是:如何配置 Apache 以以这种方式工作?

意思是子目录

答案1

当 Apache 知道它会告诉浏览器 301 永久移动时,它会使用您在级别或全局级别ServerName指定的。<VirtualHost>

如果您未设置,ServerName它会尝试通过启发式方法(对其中一个 IP 地址进行反向 DNS 查询)找出 FQDN,而您会得到一个典型的令人遗憾的结果。

例子:

ServerName example.com
ServerName http://example.com
ServerName https://example.com:8443

相关内容