Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.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中的Virtualhost(通配符和静态域)_Apache_Dns_Subdomain_Virtualhost - Fatal编程技术网

Apache中的Virtualhost(通配符和静态域)

Apache中的Virtualhost(通配符和静态域),apache,dns,subdomain,virtualhost,Apache,Dns,Subdomain,Virtualhost,我有一些奇怪的情况。我想为一个域创建不同的DirectoryRoot example.com->/dir1 www.example.com->/dir1 *.example.com->/dir2 我正在尝试使用NameVirtualHost和ServerAlias进行设置。你能帮忙吗?试着像 NameVirtualHost *:80 <VirtualHost *:80> DocumentRoot = /var/www/dir1 ServerName d1.examp

我有一些奇怪的情况。我想为一个域创建不同的DirectoryRoot

example.com->/dir1 www.example.com->/dir1

*.example.com->/dir2

我正在尝试使用NameVirtualHost和ServerAlias进行设置。你能帮忙吗?

试着像

NameVirtualHost *:80

<VirtualHost *:80>
    DocumentRoot = /var/www/dir1
    ServerName d1.example.com
<VirtualHost>

<VirtualHost *:80>
    DocumentRoot = /var/www/example
    ServerName example.com
<VirtualHost>

<VirtualHost *:80>
    DocumentRoot = /var/www/someotherdir
    ServerName other.example.com
    ServerAlias *.example.com
<VirtualHost>
NameVirtualHost*:80
DocumentRoot=/var/www/dir1
ServerName d1.example.com
DocumentRoot=/var/www/example
ServerName example.com
DocumentRoot=/var/www/someotherdir
ServerName other.example.com
ServerAlias*.example.com

取自我的工作设置(显然有点精简!)

试试这个,您可以使用
apache
location
指令强制目录根目录

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/dir1
<VirtualHost>

<VirtualHost *:80>
    ServerName *.example.com
    DocumentRoot /var/www/dir2
<VirtualHost>

ServerName example.com
ServerAlias www.example.com
DocumentRoot/var/www/dir1
ServerName*.example.com
DocumentRoot/var/www/dir2
记住第一个
VirtualHost
优先。

DocumentRoot=/var/www/wildcard ServerName other.example.com ServerAlias*.example.com这不起作用。这只是forking for other.example.com。当我浏览aaaa.example.com时,是从/var/www/example而不是从/var/www/wildcard加载内容表单/var/www/example