Apache2 httpd.conf帮助

Apache2 httpd.conf帮助,apache,Apache,我有一个域名,例如。它已配置为指向 /var/www/ /var/www/4.0/ /var/www/moo/ 基本上,我想指出 /var/www/ /var/www/4.0/ /var/www/moo/ 并指出 /var/www/ /var/www/4.0/ /var/www/moo/ 如何使用Apache2的httpd.conf文件实现这一点?谢谢假设您只服务于一个域(example.com),您可以将DocumentRoot更改为/var/www/4.0/ 并为/foob

我有一个域名,例如。它已配置为指向

/var/www/
/var/www/4.0/
/var/www/moo/
基本上,我想指出

/var/www/
/var/www/4.0/
/var/www/moo/
并指出

/var/www/
/var/www/4.0/
/var/www/moo/

如何使用Apache2的httpd.conf文件实现这一点?谢谢

假设您只服务于一个域(example.com),您可以将
DocumentRoot
更改为
/var/www/4.0/

并为
/foobar
等设置
别名

Alias /foobar /var/www/moo
如果要从同一Apache服务多个域,则需要在
VirtualHost
标记中使用DocumentRoot


更多信息在这里:

我认为您在httpd.conf上的做法是错误的,但我会先回答您的问题,然后解释一下

httpd.conf中有两个与此相关的设置。 DocumentRoot设置是一个重要的设置,它配置从中提供服务的基本目录。将其更改为:

Before:
DocumentRoot "/var/www"

After:
DocumentRoot "/var/www/4.0"
请确保不要在4.0版之后使用任何版本,这是不需要的。 在此设置下30行以下是另一行,应该是: 正如上面的评论所说,也将其更改为“/var/www/4.0”。 这会将www.example.com设置为4.0目录(第一部分),并将相关设置应用于该目录(第二部分)

但我认为您不应该这样做,将apache设置为使用httpd.conf为4.0/目录提供服务会使其他目录的服务变得一团糟。我建议您阅读有关重定向的内容,以及如何用您正在使用的任何语言实现重定向。然后,您可以将一个URL指向另一个URL,而不会在浏览器中被注意到(除非他们真的试图这样做)

因此,无需将DocumentRoot从“/var/www”更改,您就可以编辑/var/www/index.php(或任何内容),并将其重定向到/var/www/4.0/。在/var/www/foobar/index.php中也可以这样做,以显示/var/www/moo/,但在这里,我只是将服务器上的“foobar”目录重命名为“moo”。如果你想做得更详细,可以研究mod_rewrite,但我建议你先尝试所有的替代方案,只有在你真正需要的时候才使用它,它是一个相当复杂的工具