Zend framework Zend Framwork 2.2标准路由(/)无法与路由匹配

Zend framework Zend Framwork 2.2标准路由(/)无法与路由匹配,zend-framework,iis-8,zend-route,heliconzoo,Zend Framework,Iis 8,Zend Route,Heliconzoo,我已经寻找解决方案好几天了,但是找不到解决方案。救命啊 我已经安装了Zend Framework 2.2,并实现了一个带有多个路由、控制器和视图的MVC应用程序。在我的开发系统上,一切都很好。在本地,我使用WAMP安装 我把所有的东西都转移到我的网络提供商(IIS8和Helicon-Ape)那里,并通过文字路由(例如www.url.nl/info)使事情正常运行 问题是标准路线/路线不起作用。我收到一条Zend 404错误消息,指出“路由无法匹配请求的URL” 我正在module.config.

我已经寻找解决方案好几天了,但是找不到解决方案。救命啊

我已经安装了Zend Framework 2.2,并实现了一个带有多个路由、控制器和视图的MVC应用程序。在我的开发系统上,一切都很好。在本地,我使用WAMP安装

我把所有的东西都转移到我的网络提供商(IIS8和Helicon-Ape)那里,并通过文字路由(例如www.url.nl/info)使事情正常运行

问题是标准路线/路线不起作用。我收到一条Zend 404错误消息,指出“路由无法匹配请求的URL”

我正在module.config.php中使用推荐的标准文字路由:

        ....
        'home' => array(
            'type' => 'Literal',
            'options' => array(
                'route'    => '/',
                'defaults' => array(
                    'controller' => 'App\Controller\Index',
                    'action'     => 'index',
                ),
            ),
        ),
        'info' => array(
            'type' => 'Zend\Mvc\Router\Http\Literal',
            'options' => array(
                'route'    => '/info',
                'defaults' => array(
                    'controller' => 'App\Controller\Info',
                    'action'     => 'index',
                ),
            ),
        ),
        ....
以及未经更改的public/.htaccess:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteCond %{REQUEST_URI}::$1 ^(/.+)(.+)::\2$
RewriteRule ^(.*) - [E=BASE:%1]
RewriteRule ^(.*)$ %{ENV:BASE}index.php [NC,L]
我自己的怀疑是针对我的供应商运行在IIS8.0和Helicon Ape上,以支持Apache配置文件(.htaccess)。特别是,会生成一个web.config文件,其中包含index.php下的默认文件

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <directoryBrowse enabled="false" />
        <defaultDocument>
            <files>
                <clear />
                <add value="index.php" />
                <add value="Default.htm" />
                <add value="Default.asp" />
                <add value="index.htm" />
                <add value="index.html" />
                <add value="iisstart.htm" />
                <add value="default.aspx" />
            </files>
        </defaultDocument>
    </system.webServer>
</configuration>

我也无法直接使用/index.php的完整url。同样的错误

提前感谢您的帮助


彼得

确实是IIS8,我以前见过。但奇怪的是,默认页面不适合您。尝试在.htaccess上添加规则,如:

重写规则^$/index.php[NC,L,NS]