代码之家  ›  专栏  ›  技术社区  ›  Dimitrios Mistriotis

无需修改的php Zend/MVC

  •  1
  • Dimitrios Mistriotis  · 技术社区  · 17 年前

    我在网上的许多博客中都提到过,但我认为应该在这里讨论一下。 当我们在PHP中有一个MVC框架(我对ZEND感兴趣),但我们的主机不提供mod_rewrite时,我们该怎么办? 谢谢:-)

    5 回复  |  直到 15 年前
        1
  •  4
  •   Theo    17 年前

    Zend框架应该在没有 mod_rewrite . 如果你可以使用你的URL:s,它看起来更像“/path/to/app/index.php/controller/action”。如果您有mod_rewrite,您可以去掉“index.php”位,但它也应该可以使用。

    只需设置路由以接受index.php部分。

        2
  •  1
  •   Mostafa Tarek Yassien    4 年前

    好的,我的结论:-):我已经成功地使用了zend,没有修改,正如大家所说的site/index.php/controller/action。我在发布这个之前就知道了。我还发现了一种在网络上“推送”404个页面到index.php的技术,因此,除了一个例外,什么不是资源(例如CSS、图像等)可以到达那里:POST值。 因此,我决定下次在特定服务器上创建应用程序时,礼貌地要求重写mod_。如果管理员无法提供,请与我的上司联系,如果是我的,请更换提供商。 一般来说,PHP市场如此分散(php4、php5、php6、mod_重写、mod_auth、mod_等等)有时令人遗憾,但这是另一回事。。。

        3
  •  0
  •   Eric Goodwin    17 年前

    很多大型php程序(我想是magento,但大多数都能应付)在mod_rewrite不可用时有一个非常好的url回退模式。

    URL最终看起来像www.site.com/index.php?加载此页面

    他们必须运行一些魔术,从$\u GET变量中获取变量名,并将其用作要执行的模块/功能的选择器。

        4
  •  0
  •   sergtk    17 年前

    如果您可以找到一种非mod_重写方法将所有请求重定向到index.php(或者无论您的init脚本在哪里),那么如上所述,您可以使用“REQUEST_URI”获取域后的地址部分,然后根据需要对其进行解析,并使请求执行您希望的操作。Wordpress就是这样做的(当然,需要修改)。只要您可以将请求重定向到索引页,同时保留相同的URI,就可以执行处理请求所需的操作。

    推荐文章