2013-12-19 55 views
0

从apache迁移到nginx时,我面临以下问题: 当使用zend framework 2应用程序部署包含大约10个子文件夹的名为“apps”的文件夹时,我无法浏览我的zf-routes(http 404)。nginx对所有子文件夹的URL重写动态

发生这种情况是因为我的htaccess没有被读取,我的重写也没有发生。

它会在我的nginx配置中定义所有项目时工作,但这不是非常动态的,所有新项目都需要一个新条目,而apache在所有文件夹中读取.htaccess并自行完成。

是否有任何nginx指令我没有找到完成此?

我目前正在此代码块:

location /apps/ { 
     try_files $uri $uri/ /index.php; 
    } 

我知道这会导致nginx的检查/apps/index.php而不是/apps/(projectname)/index.php - 但我不知道如何改变这一点。

+0

为什么'location/apps' not'location /'? –

+0

它适用于我们的Intranet网络服务器,我们的zend框架2应用程序位于/ apps /中的虚拟主机目录下。 – Kevin

+0

确定,所以将'/ apps'添加到'root'而不是'location' –

回答

0
location /apps/(.*)/ { 
     try_files $uri $uri/ /apps/(.*)/index.php?$args; 
    } 

这是解决方案。我只是错过了index.php之前的部分。