apache虚拟主机在Mint虚拟机上不起作用
我的Apache在Windows 8主机上的Mint虚拟机上运行,因此我可以使用VM进行Drupal开发。我在/etc/apache2/apache2.conf
中创建了VirtualHost条目,因此我可以使用www.mysite.dev
作为开发URL,并在来宾主机上设置hosts
文件。部署的目标平台是Acquia,以防万一。apache虚拟主机在Mint虚拟机上不起作用
我遇到的问题是,当在访客中使用浏览器去http://www.mysite.dev/
时,我得到我的网站,但是当我访问http://www.mysite.dev/any-non-root-path
时,我得到了404。另外,当我在浏览器上使用主机去http://www.mysite.dev
,我反而得到了Apache的默认主页。
在/etc/apache2/apache2.conf
的客人,我有:
<VirtualHost www.mysite.dev:80>
DocumentRoot /var/www/html/mysite/docroot/
ServerName www.mysite.dev
</VirtualHost>
在/etc/hosts
的客人,我有:
127.0.0.1 localhost
127.0.1.1 vm-name
127.0.0.1 www.my-site.dev
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
在C:\Windows\System32\drivers\etc\hosts
在主机上,我有
127.0.0.1 localhost
192.168.44.44 www.drupal7.dev
192.168.44.45 www.mysite.dev
192.168.44.45是主机专用网络上的VM的IP地址I c在VirtualBox中使用。 (192.168.44.44是从我尝试Vagrant的时候开始的,但是共享文件夹的性能太慢了,我觉得不是学习Vagrant只是为了捣乱,我不如直接跳到废物!)
我怀疑我遇到的两个问题是相关的。所以我的问题是:如何解决这两个问题,以便在从主机浏览并从客人浏览的同时获得我想要的内容?
谢谢!
编辑特定的错误我得到的路径问题是The requested URL [...] was not found on this server.
新建答案:这个答案解决了这两个问题。
<VirtualHost 192.168.44.45 127.0.0.1>
DocumentRoot /var/www/html/site-name
ServerName www.site-name.dev
<Directory "/var/www/html/site-name/docroot/">
AllowOverride All
</Directory>
</VirtualHost>
所以这就是Spock先生的答案!
原创答案因此,周一早上的新面貌让我成为了答案的一部分。我想这确实是两个问题。
对非根URL的修复是添加一个目录元素。见https://www.drupal.org/node/1038。
<VirtualHost www.site-name.dev:80>
DocumentRoot /var/www/html/site-name
ServerName www.site-name.dev
<Directory "/var/www/html/site-name/docroot/">
AllowOverride All
</Directory>
</VirtualHost>
我还在寻找其他部分。