我刚开始使用ZF2,但对Zend Skeleton Application感到非常困惑。
在当前情况下,UR1看起来像:

http://localhost/zf2/public/

对于名为应用程序的模块,它看起来像:
http://localhost/zf2/public/Application/

并且操作在模块名称之后进行。
我想使用管理面板用户面板创建CMS。
这就是为什么我希望用户的URL像这样:
http://localhost/zf2

对于像这样的管理员:
http://localhost/zf2/admin/Module Name/Actions

所以,我的问题是,我应该如何创建这样的URL?

最佳答案

您的url示例似乎使您混淆了公共(public)目录和 Controller 路由。通常,您应该没有这样的网址:

http://localhost/zf2/public/

相反,您通常应该使用虚拟主机。有很多方法可以执行此操作,但是如果要使用命名的虚拟主机,通常可以归结为自定义端口或自定义主机条目。然后,您的公开网址将看起来像这两个选项之一:
http://localhost:9000/

或者
http://myapp.local/

如果您在开发环境中使用PHP 5.4,到目前为止,启动主机的最简单方法是使用PHP 5.4内置服务器。您可以从项目根目录在命令行上以如下方式启动它(这使公用目录成为本地主机端口9000上的临时Web服务器的Web根目录):
php -S localhost:9000 -t public

整理好Web服务器配置后,Skeleton应用程序将自动解释您的网址路由(默认情况下),如下所示:
http://localhost:9000/some-module/some-controller/some-action

如果要在Skeleton应用程序的IndexController上将默认indexAction放在完整的文字路径中,则如下所示:
http://localhost:9000/application/index/index

10-05 21:28
查看更多