我从 GoDaddy 购买了一个域名(例如:xyz.com)。现在我想将 a.xyz.com 、 b.xyz.com 和 xyz.com 指向 AWS ec2 实例中 apache www 文件夹内的 3 个子文件夹。
我设置了 000-default.conf 及其所有必要的虚拟主机条目,并尝试了不同的 conf 文件(每个站点名称一个,例如:a.xyz.com.conf),我还执行了 a2ensite 和 apache 重新加载。
一个针对“a”子域的示例配置。对于“b”子域,其 b 代替 a。
<VirtualHost *:80>
ServerName a.xyz.com/
ServerAlias www.a.xyz.com/
DocumentRoot /var/www/html/a
<Directory "/var/www/html/a">
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
RewriteEngine on
RewriteCond %{SERVER_NAME} =a.xyz.com/ [OR]
RewriteCond %{SERVER_NAME} =www.a.xyz.com/
</VirtualHost>
但所有网站都指向同一个文件夹内容(主域文件夹内的 index.html)。如果是默认的 conf 配置,它会选择第一个 Vhost 条目。在 GoDaddy 端,我将每个子域映射(A 记录)到同一个弹性 IP。
不使用 Route53我怎样才能实现同样的目标?
答案1
我认为这个问题只需要另一双眼睛。即使你想,路由 53 也无济于事——如果浏览器找到服务器,问题就不在于 DNS
ServerName 和 ServerAlias 值应该是域名 - 而不是路径。从末尾删除“/” - 我相信这样可以解决问题。
另外,这些 RewriteRules 对我来说毫无意义。也许需要删除它们?