Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache 将任何子域重定向到特定文件夹_Apache_.htaccess_Mod Rewrite_Subdomain_Wildcard - Fatal编程技术网

Apache 将任何子域重定向到特定文件夹

Apache 将任何子域重定向到特定文件夹,apache,.htaccess,mod-rewrite,subdomain,wildcard,Apache,.htaccess,Mod Rewrite,Subdomain,Wildcard,我有以下结构 网络应用 网站 .htaccess 我制作了一个虚拟主机,如下所示 mydomain.com->指向->网站 app.mydomain.com->指向->网络应用 我需要应用通配符DNS概念,使任何子域指向我的webapp文件夹,并将子域保留在url中。 喜欢 username.mydomain.com company-name.mydomain.com 无论如何,我的域名 并让他们指向webapp文件夹 是否有任何虚拟主机或.htaccess方法可以做到这一点 根据,vh

我有以下结构

  • 网络应用
  • 网站
  • .htaccess
我制作了一个虚拟主机,如下所示

  • mydomain.com->指向->网站
  • app.mydomain.com->指向->网络应用
我需要应用通配符DNS概念,使任何子域指向我的webapp文件夹,并将子域保留在url中。 喜欢 username.mydomain.com company-name.mydomain.com 无论如何,我的域名

并让他们指向webapp文件夹

是否有任何虚拟主机或.htaccess方法可以做到这一点

根据,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>

服务器名www.yourdomain.com
服务器别名yourdomain.com
DocumentRoot/www/yourdomain/website
ServerName app.yourdomain.com
DocumentRoot/www/yourdomain/webapp
ServerName*.yourdomain.com
DocumentRoot/www/yourdomain/customsubdomain
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
应用程序的请求