【问题标题】:Zend framework 2 multiple module url routing issueZend framework 2 多模块 url 路由问题
【发布时间】:2016-04-15 15:17:09
【问题描述】:

当我的框架中有两个或三个模块时,我面临着这个问题

  • 专辑
  • 管理员
  • 用户

我使用URL访问上述模块的方式如下

但我想通过以下方式访问模块

我已经检查了以下链接,但是这对我不起作用

Having trouble with URI routing for modules in Zend Framework
Routing in Zend Framework 2
Zend framework 2 module name routing issue
Zend Framework 2 - Multiple modules by URL
Zend Framework 2 routing issue
404 error, Zend Framework 2 The requested URL could not be matched by routing

为了删除公众,我通过使用以下代码在项目的根级别创建 Index.php 来管理

<?php 
    define('RUNNING_FROM_ROOT', true);
    include 'public/index.php';

如果有人遇到类似问题,请帮助我

【问题讨论】:

  • 看起来更像是 apache 或 nginx 路由的东西,而不是 php...?如果您运行 Apache,请检查您的重写引擎是否已打开并且重写规则是否在中。
  • @Raphioly-San:我也检查了重写引擎和重写规则,两者都到位。要我再检查一下吗?
  • 检查rewrite模块是否被激活?根据您的配置方式,您可能需要检查您的 .htaccess 是否会覆盖您的虚拟主机配置中的设置。如果没有,请将AllowOverride All 添加到您的&lt;Directory &gt; 节点(或如果存在则更改)。如果你在 Windows 上运行? Windows 有一个奇怪的功能,您可能需要设置...
  • 您应该从您的公用文件夹中提供应用程序。似乎您从 ZF2 应用程序根文件夹中提供服务。将您的服务器设置改为从/public 提供服务。否则请检查替代解决方案的答案here

标签: php zend-framework zend-framework2


【解决方案1】:

您不应在根级别添加自己的index.php。您应该再次删除此文件。您的问题是您应该从 /public 文件夹文件夹中提供应用程序。

您当前似乎是从 ZF2 应用程序根文件夹提供服务。推荐的解决方案是将您的服务器设置更改为从/public 提供服务。在 Apache you can do this 中,例如使用您的虚拟主机配置。它有一个DocumentRoot 参数。

否则检查the answer to an alternative solution here

【讨论】:

    【解决方案2】:

    解决了问题

    • 从根目录中删除了 index.php 和 .htaccess 文件
    • zend document设置虚拟主机
    • 遵循stackoverflow 上给出的答案

    正在使用的配置

    • Ubuntu 14.04
    • PHP 5.5.9
    • apache2

    【讨论】:

    • 这正是我在回答中所建议的。
    猜你喜欢
    • 2017-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多