VirtualDocumentRoot和CNAME

我们有一个使用VirtualDocumentRoot的apache安装程序。 这是虚拟主机文件

<VirtualHost *:80> ServerName vsweb005.[domain].local ServerAlias *.*.*.vsweb005.[domain].local ServerAlias *.*.*.[domain].co.uk ServerAlias *.*.*.[clientdomain].co.uk UseCanonicalName Off VirtualDocumentRoot /var/www/html/client/%3/%2/%1 SetEnv FX_ENVIRONMENT staging SetEnv FX_CORE_PATH /var/www/master SetEnv FX_CLIENT_PATH /var/www/html/client <Directory /var/www/html/client/*> Options -Indexes +FollowSymlinks +Multiviews Allowoverride All Order allow,deny Allow from All <IfModule mod_headers.c> Header set Access-Control-Allow-Origin "*" Header set Access-Control-Allow-Headers "X-Requested-With" </IfModule> <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} ^config\.(.*) [NC] RewriteCond %{REQUEST_URI} !component\.json [NC] RewriteRule ^(.*)$ /component.json?$1 [QSA,L] RewriteCond %{REQUEST_FILENAME} -f RewriteRule ^.*$ - [S=51] RewriteCond %{HTTP_HOST} ^www\.(.*) [NC] RewriteCond %{REQUEST_URI} !index\.php [NC] RewriteRule ^(.*)$ /index.php?$1 [QSA,L] </IfModule> </Directory> </VirtualHost> 

我们使用的URL是“xyz [domain] .co.uk”,它可以正常工作并映射到正确的文件夹。 我们的客户将使用自己的URL“a。[clientdomain] .co.uk”并创build一个CNAMElogging来映射到我们的。

这不会映射到正确的文件夹。 有没有这个工作?

希望是有道理的。

你已经有了这个设置来听取*.*.*.[clientdomain].co.uk ,而不是*.[clientdomain].co.uk

*.*.*.[clientdomain].co.uk将不匹配a.[clientdomain].co.uk ,因为没有足够的. s的主机名称。