我在 Ubuntu 11.10 下使用 Zend Framework 有一个奇怪的问题。我使用笔记本电脑作为我的编程环境来测试一些东西,然后再将它们上传到我的主服务器。我下载并安装了 Zend Framework 并创建了一个新项目。访问 localhost.project 时,一切正常。
问题是当我尝试设置虚拟服务器时,我可以去 project.localhost 并以相同的方式查看它(我知道能够这样做并不重要,但我还是想这样做)。我通过转到 /etc/apache2/sites-available 并在其中创建一个新的虚拟主机来设置一个虚拟主机。如果我将 documentRoot 等设置为 /var/www/project/public,我会收到内部服务器错误。更奇怪的是,如果我将它设置为 /var/www/project,我可以看到所有目录——应用程序、文档、库、测试——但没有公开。我不知道为什么会这样。
我正在使用全新安装的 Ubuntu 11.10,并使用 tasksel 安装 LAMP 服务器。这应该可以工作——它在我的 VPS 上工作得很好——但事实并非如此。
编辑:这是虚拟主机的文件:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName project.localhost
DocumentRoot /home/moi/web_docs/project/public
<Directory />
Options All
AllowOverride All
</Directory>
<Directory /home/moi/web_docs/project/public>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>