使用Apache虚拟主机在ubuntu 13.10上安装zf2



我正在ubuntu 13.10中配置Zend应用程序(ZF2)。遵循以下步骤:

  1. 将代码放在名为zfapp/var/www/

虚拟主机配置:

<VirtualHost *:80> 
ServerName zfapp.com DocumentRoot /var/www/zfapp/ 
<Directory /> 
Options FollowSymLinks 
AllowOverride All 
</Directory> 
ErrorLog /var/log/apache2/error.log 
# Possible values include: debug, info, notice, warn, error, crit, 
# alert, emerg. 
LogLevel warn 
CustomLog /var/log/apache2/access.log combined 
</VirtualHost>
  1. /etc/hosts中为其创建虚拟主机

    127.0.0.1 zfapp.com

  2. /etc/apache2/sites-available/zfapp.cof中添加文件

  3. sudo a2enmod rewrite

  4. sudo a2ensite zfapp.conf

  5. sudo service apache2 restart

但是,当我浏览到网站时(zfapp.com/api/user/auth);它给出以下错误:

未找到在此服务器上未找到请求的Url/api/user/auth

我有一个javascript MVC项目,在该项目中我使用PHP作为服务器端语言。

以下是项目目录结构:

项目目录javascriptMVC文件夹->模型/控制器jsfilesapi文件夹->Zend项目

我制作了一个符号链接api,它指向javascriptMVC目录中的api/public,我在对PHP服务器的AJAX调用中使用它。如CCD_ 11。同样的结构也适用于旧的Ubuntu机器。

我认为这与Apache的配置有关;或者我必须设置任何别名?

谢谢大家,

我发现了问题。

在apache2.4.6和ubuntu 13.10中,我们需要更新apache2.conf的变化

<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>

带有

<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>

并创建类似于的虚拟主机文件

<VirtualHost zfapp.com:80>
ServerName zfapp.com
DocumentRoot /var/www/zfapp/index
<Directory /var/www/zfapp/index>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined
</VirtualHost>

我从以下方面找到了解决方案:https://askubuntu.com/questions/423514/how-to-enable-mod-rewrite-for-virtual-host

顺便说一句,谢谢@Bilal,@jmleroux

没有代码,很难诊断。。。

也许是url重写的问题:

是否启用mod_rewrite?

您设置了AllowOverride All吗?

@Bilal可能意味着您的ZF2路由配置:http://framework.zend.com/manual/2.0/en/modules/zend.mvc.routing.html

最新更新