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
Apache 按URL路径更改DocumentRoot_Apache_Virtualhost - Fatal编程技术网

Apache 按URL路径更改DocumentRoot

Apache 按URL路径更改DocumentRoot,apache,virtualhost,Apache,Virtualhost,如何使用VirtualHost根据URL路径更改DocumentRoot 我想要这个: example.com提供/var/www example.com/2服务/var/www2 我使用的是Alias,它提供正确的目录,但不会更改“DOCUMENT\u ROOT”服务器变量 <VirtualHost *:80> DocumentRoot "/var/www" ServerName example.com Alias /2 "/var/www2" <

如何使用VirtualHost根据URL路径更改DocumentRoot

我想要这个:

  • example.com
    提供
    /var/www

  • example.com/2
    服务
    /var/www2

我使用的是Alias,它提供正确的目录,但不会更改“DOCUMENT\u ROOT”服务器变量

<VirtualHost *:80>
    DocumentRoot "/var/www"
    ServerName example.com
    Alias /2 "/var/www2"
</VirtualHost>

DocumentRoot“/var/www”
ServerName example.com
别名/2“/var/www2”

为什么要更改DocumentRoot?如果apache对该文件夹有权限,您的虚拟主机代码应该可以工作并重定向到/var/www2。因为我在代码中多次使用DOCUMENT_ROOT server变量。我可以伪造这个变量,但我希望有一个更干净的解决方案。从Apache文档中:
DocumentRoot指令在主服务器配置文件(httpd.conf)中设置,并且可能每创建一个虚拟主机设置一次。
因此,如果设置一次,就不能在同一vhost中修改它,至少我从他们的文档中了解到了这一点。为什么要更改DocumentRoot?如果apache对该文件夹有权限,您的虚拟主机代码应该可以工作并重定向到/var/www2。因为我在代码中多次使用DOCUMENT_ROOT server变量。我可以伪造这个变量,但我希望有一个更干净的解决方案。从Apache文档中:
DocumentRoot指令在主服务器配置文件(httpd.conf)中设置,并且可能每创建一个虚拟主机设置一次。
因此,如果设置一次,就不能在同一vhost中修改它,至少我从他们的文档中了解到了这一点。