我正在尝试在运行 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.tld
www.domain.tld
domain.tld
example.com
我尝试用 Google 搜索了很多次,但没有任何结果。有什么建议吗?
答案1
您可以尝试使用mod_rewrite检查文档根目录是否存在,如果不存在则发送重定向。
RewriteCond %{DOCUMENT_ROOT} ! -d
RewriteRule .* http://domain.tld/ [R]