Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Zend framework Zend Framework在url中不包含默认模块_Zend Framework_Url_Module_Default - Fatal编程技术网

Zend framework Zend Framework在url中不包含默认模块

Zend framework Zend Framework在url中不包含默认模块,zend-framework,url,module,default,Zend Framework,Url,Module,Default,我有一个ZF1.12项目,其结构如下: |Project |-Application |-configs |-application.ini |-modules |-default |-configs |-controllers |-models |-views

我有一个ZF1.12项目,其结构如下:

|Project
    |-Application
        |-configs
            |-application.ini
        |-modules
            |-default
                |-configs
                |-controllers
                |-models
                |-views
                |-Bootstrap.php
            |-api
                |-configs
                |-controllers
                |-models
                |-views
                |-Bootstrap.php
    |-Bootstrap.php
    |-Library
    |-Public
application.ini中的模块配置

resources.modulesetup[] =
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
resources.frontController.defaultControllerName = "index"
resources.frontController.defaultAction = "index"
resources.frontController.defaultModule = "default"
resources.modules[] = ""
这些链接

$this->url(array('module'=>'default', 'controller'=>'index', 'action'=>'index'));
$this->url(array('module'=>'default', 'controller'=>'index', 'action'=>'one'));
$this->url(array('module'=>'admin', 'controller'=>'index', 'action'=>'index'));
$this->url(array('module'=>'admin', 'controller'=>'index', 'action'=>'two'));
网址:http://project.com/return

/project.com/                     ---> works
/project.com/                     ---> no module, no controller and no action...
/project.com/admin/               ---> works
/project.com/admin/               ---> no controller and no action...
和/project.com/default/return上的相同链接

/project.com/                     ---> works
/project.com/index/one            ---> doesn't work and return 404 error 
/project.com/admin/index/index    ---> works
/project.com/admin/index/two      ---> works
有点不对劲,当然,我应该一直有同样的回报。 第二个也给了我一个404错误。。我设计了类似于/project.com/default/index/one的东西,如果我把它放在浏览器的地址栏中,它就会工作


为什么url()方法不返回包含“默认”模块的url?

我有类似的设置,并使用自定义路由:

[routes]    
routes.mycustomroute.type = "Zend_Controller_Router_Route_Regex"
routes.mycustomroute.route = "([a-zA-Z]+)/([a-zA-Z]+)"
routes.mycustomroute.defaults.module = "default"
routes.mycustomroute.map.1 = controller
routes.mycustomroute.map.2 = action
routes.mycustomroute.reverse = "%s/%s/%s"
有关使用路由的一些详细信息:

但基本上,在引导程序中添加函数
\u initRoutes
(从上一个链接),并在
/configs
下创建一个routes.ini文件

--


此外,您可能还需要查看
$front->setParam('usedefaultcontrolleraways',true)(参见文档)。但是我不确定它是做什么的。

example是你想调用的模块吗?/example是项目的名称(域名)。比如www.example.com/module/controller/action。。。。为什么它不返回域(示例)和控制器(索引)之间的模块?您能解释我应该如何自定义此设置吗?如果我把它放在application.ini的顶部,没有任何变化…在你的routes.ini中,你是否在最顶部添加了
[routes]
?是的,我添加了。。。什么都没有。。。我被这个问题弄疯了:(与其链接默认路由,不如尝试创建一个新路由,这样上面的内容就会变成
routes.mycustomroute.type