XAMPP
我在中有以下代码httpd-vhosts.conf
:
<Directory "/dev/www/">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
# Require all granted
Require local
Require ip 192.168.35
</Directory>
<VirtualHost *:80>
DocumentRoot "/dev/xampp/htdocs"
ServerName localhost
</VirtualHost>
<VirtualHost *:80>
ServerAlias *.192.168.35.2.xip.io
VirtualDocumentRoot "d:/dev/www/vhosts/%-7"
# ^ this works!
</VirtualHost>
这很好用。请注意,DocumentRoot
第一个虚拟主机中的缺少驱动器号,而VirtualDocumentRoot
第二个虚拟主机中的却有一个。
如果我尝试从第二个虚拟主机中删除驱动器号,apache 将无法启动。如下所示:
<VirtualHost *:80>
ServerAlias *.192.168.35.2.xip.io
VirtualDocumentRoot "/dev/www/vhosts/%-7"
# ^ this doesn't work!
</VirtualHost>
VirtualDocumentRoot
有没有办法像常规一样使用没有驱动器号的路径DocumentRoot
?更好的是,是否有相对路径,如果可以,这些路径相对于什么?这才是XAMPP
真正的便携性,因为可以在 USB 记忆棒上使用。
答案1
当前版本的 Apacheformat string must be an absolute path, or 'none'
在启动失败时会明确发出该消息。因此很可能可以推断,在 Windows 上/dev/www/vhosts/%-7
不能使用像 这样的路径(即没有驱动器号的路径) (因为等是磁盘的根目录,而不是)。VirtualDocumentRoot
c:\
d:\
/
假设 eg/dev/xampp/htdocs
可能是您的DocumentRoot
,httpd.conf
您可能(假设地)能够将其更新为类似于/
允许从 USB 驱动器使用 Apache 的内容,但我不相信这可以解决的问题VirtualDocumentRoot
。