gpt4 book ai didi

Apache:每个子域上的虚拟主机到相应的目录

转载 作者:行者123 更新时间:2023-12-02 11:39:32 26 4
gpt4 key购买 nike

我想做这样的事情:

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

例如,如果我访问 foo.example.com 它必须向我显示 /var/www/foo 目录内容

什么是好的 apache 语法?

最佳答案

您不能在服务器名称中使用类似的 $variable 并将其映射到文档根目录,但您可以使用 mod_rewrite 和通配符。

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

RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ^([^.]+)\.
RewriteCond %{REQUEST_URI}::%1 !^/([^/]+).*::\1
RewriteRule ^(.*)$ /%1/$1 [L]
</VirtualHost>

subdomain.example.com 可以是 www.example.com 以外的任何子域。对于任何不以“www”开头的请求,子域将被捕获为一个组(第二个条件),然后下一行确保请求尚未路由到子域的名称中,并且规则将对其进行路由。

对于请求:

http://foo.example.com/bar/x.html

它被路由到:

/foo/bar/x.html

关于Apache:每个子域上的虚拟主机到相应的目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18759661/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com