我在Windows 8主机上的Mint VM上运行Apache,因此我可以使用VM进行Drupal开发。我在/etc/apache2/apache2.conf
中创建了一个VirtualHost条目,因此我可以使用www.mysite.dev
作为开发URL,并在来宾主机上设置hosts
个文件。部署的目标平台是Acquia,如果相关的话。
我遇到的问题是,当使用访客中的浏览器转到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是我在VirtualBox中创建的仅主机网络上的VM的IP地址。 (192.168.44.44是从我尝试Vagrant时开始的,但是共享文件夹的性能太慢了。我想的不是学习Vagrant只是为了捣乱,我不妨直接跳到渣土!)
我怀疑我遇到的两个问题是相关的。所以我的问题是:如何解决这两个问题,以便在从主机浏览和从访客浏览时获得我想要的内容?
谢谢!
修改我遇到的路径问题的具体错误是The requested URL [...] was not found on this server.
答案 0 :(得分:0)
新答案:这个答案解决了这两个问题。
<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>
我还在调查另一部分。