我在ubuntu中通过zf命令创建了一个项目zfapi。
现在http://mysite.com/path/to/zfapi/
给我文件夹公共应用程序和其他应用程序的列表。
http://mysite.com/path/to/zfapi/public 给我索引页index.php。
我已经在 application/controllers 中创建了 UserController.php
但 http://mysite.com/path/to/zfapi/user/
说找不到用户。
我需要设置什么配置才能正确运行它。
我已/etc/apache2/apache2.conf
在最后设置了以下内容并添加了。
<VirtualHost *:80>
DocumentRoot "/var/www/path/to/zfapi"
<Directory "/var/www/path/to/zfapi">
Order allow,deny
Allow from all
AllowOverride all
</Directory>
</VirtualHost>
重新启动服务器时出现此错误。
[Sat Jan 08 13:32:53 2011] [error] VirtualHost *:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
[Sat Jan 08 13:33:03 2011] [error] VirtualHost *:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
我该怎么办?
答案1
使用虚拟主机配置时,您至少应该设置一个 ServerName。
<VirtualHost *:80>
ServerName mydomain.com
DocumentRoot "/var/www/path/to/zfapi"
<Directory "/var/www/path/to/zfapi">
Order allow,deny
Allow from all
AllowOverride all
</Directory>
</VirtualHost>
您必须通过执行以下操作来检查是否安装了 mod rewrite:
sudo a2enmod rewrite
并且没有启用重新启动 apache。
答案2
检查你的 apache 配置文件中的“NameVirtualHost”字符串
sudo grep -iR NameVirtualHost /etc/apache2/*
这肯定不同于
NameVirtualHost *:80
也许你有
NameVirtualHost *
或者
NameVirtualHost 10.1.1.15:80
您的 VirtualHost 标记,您的 VirtualHost 定义的第一个标记必须与此定义匹配。您可以有几个不同的 NameVirtualHost 定义,这告诉 apache 应该将哪些侦听 IP 地址/端口配置附加到 VH 定义。如果您的 VH 定义与其中任何一个都不匹配,那么您就会得到错误日志。
因此也许你需要在你的 VH 上:
<VirtualHost *>
http://httpd.apache.org/docs/2.0/mod/core.html#namevirtualhost