0

何日も解決策を探していましたが、解決策が見つかりません。ヘルプ!

Zend Framework 2.2 をインストールし、いくつかのルート、コントローラー、ビューを備えた MVC アプリケーションを実装しました。私の開発システムでは、すべて順調です。ローカルでは、WAMP インストールを使用しています。

すべてを Web プロバイダー (Helicon Ape を使用した IIS8) に転送し、www.url.nl/info などのリテラル ルートで問題なく動作するようにしました。

問題は、標準ルート / が機能しないことです。「要求された URL をルーティングで一致させることができませんでした」という Zend 404 エラー メッセージが表示されます。

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]

私自身の疑いは、Apache 構成ファイル (.htaccess) をサポートするために Helicon Ape を使用して IIS8.0 で実行されているプロバイダーに向けられています。特に、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>

また、完全な URL を /index.php に直接使用することもできません。同じエラー。

助けてくれてありがとう。

ピーター

4

1 に答える 1