我有以下结构
我创建了一个虚拟主机,如下所示
我需要应用通配符DNS概念,使任何子域指向我的webapp文件夹,并将子域保留在url中。 喜欢 username.mydomain.com company-name.mydomain.com whatever.mydomain.com
并将它们指向webapp文件夹
有没有虚拟主机或.htaccess方法呢?
此致
答案 0 :(得分:0)
根据Apache docs,vhost解析使用定义顺序。以下配置应该执行您想要的操作:
<VirtualHost *:80>
ServerName www.yourdomain.com
ServerAlias yourdomain.com
DocumentRoot /www/yourdomain/website
</VirtualHost>
<VirtualHost *:80>
ServerName app.yourdomain.com
DocumentRoot /www/yourdomain/webapp
</VirtualHost>
<VirtualHost *:80>
ServerName *.yourdomain.com
DocumentRoot /www/yourdomain/customsubdomain
</VirtualHost>
Apache会将请求路由到与ServerName
指令匹配的第一个vhost
yourdomain.com
将匹配第一个www.yourdomain.com
将匹配第一个app.yourdomain.com
将匹配第二个companyname..yourdomain.com
第三个username.yourdomain.com
第三个 *.yourdomain.com
匹配app.yourdomain.com
和www.yourdomain.com
(但不是yourdomain.com
)。因此,通配符(*
)域必须是文件中的最后一个域,因此它只捕获未发送到www
或app
的请求。