在 Amazon EC2 上设置 Ubuntu Server,用于托管带有通配符子域名的多个域名

在 Amazon EC2 上设置 Ubuntu Server,用于托管带有通配符子域名的多个域名

我正在尝试在运行 Ubuntu Server 12.04 的 Amazon EC2 微型实例上设置多个域。我正确安装了 Apache 并设置了虚拟主机,但通配符子域存在问题。

这是我的 httpd.conf 文件的样子

NameVirtualHost *:80

<VirtualHost *:80>
    UseCanonicalName Off
    VirtualDocumentRoot /home/username/domains/%0/html/
</VirtualHost>

我的 DNS 记录(在 Amazon Route 53 上)是:

domain.tld      A    1.2.3.4
*.domain.tld    A    1.2.3.4

如果我创建一个带有子目录test.domain.tld的目录,它工作正常。但是,如果访问的子域没有目录,html我想做的是重定向*.domain.tld到。我还想重定向到。如果我决定在服务器上托管另一个网站,系统也应该可以工作。domain.tldwww.domain.tlddomain.tldexample.com

我尝试用 Google 搜索了很多次,但没有任何结果。有什么建议吗?

答案1

您可以尝试使用mod_rewrite检查文档根目录是否存在,如果不存在则发送重定向。

RewriteCond %{DOCUMENT_ROOT} ! -d
RewriteRule .* http://domain.tld/ [R]

相关内容