我在 / var / www / 中创建了一个项目学生但我无法使用虚拟热门访问它。
zf.sh create prohect student
我在 / etc / apache2 / sites-available 中创建了一个文件学生,如下所示:
<VirtualHost *:80>
ServerName student.dev
ServerAlias student.dev
DocumentRoot /var/www/student/public/
</VirtualHost>
然后我在终端运行:
sudo a2ensite student
我在 / etc / hosts
中有以下行127.0.0.1 student.dev
重新启动apache服务器之后:
sudo /etc/init.d/apache2 restart
但是当我在浏览器中访问http://student.dev/时,它会出现以下错误:
The server encountered an internal error or misconfiguration and was unable to complete your request.
但是当我直接访问http://localhost/student/public/index.php时,它会像我这样成功地向我显示欢迎
Welcome to the Zend Framework!
This is your project's main page
修改
公共文件夹中的.htaccess文件
SetEnv APPLICATION_ENV development
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
答案 0 :(得分:1)
您错过了vhost配置中的<Directory>
配置。
您的配置必须如此:
<VirtualHost *:80>
ServerName student.dev
DocumentRoot /var/www/student/public/
<Directory /var/www/student/public/>
AllowOverride All
</Directory>
</VirtualHost>
AllowOverride
设置告诉apache公共目录中的.htaccess
个文件可能会覆盖常规设置。