2012-03-07 12 views
0

私はzendフレームワークアプリケーションを持っていて、正しく動作しているようですが、私はindexControllerのdomain.com/controller/actionで私のアプリケーションにアクセスできます。私は今、新しいコントローラを作って、 "ページを表示できません"というメッセージが表示されています。Zend Framework urls

私は、しかし、私は書き換えが有効になっている、AllowOverrideのは、上にあるすべての通常のものをチェックしている、のhtaccessファイルは、デフォルトでこのアドレスdomain.com/index.php/controller/actionで

を私の新しいコントローラにアクセスすることができますZendサンプルプロジェクトを作成するときに作成されたものです。誰かがそれが大いに評価されるのを助けることができるなら、私は何か基本的なことを逃したように感じる!ありがとうございました:)

答えて

0

ZFがリクエストされたURLを特定のコントローラ/アクションにルーティング(変換)する方法を制御するルートを設定する必要があります。 resources.router.routes.routename.route = "/ myroute /"

は、Zend Frameworkのルーティングドキュメントにあなたのapplication.iniにこのような何かを追加することhere

てみてください見てください resources.router.routes.routename.defaults.controller = mycontroller resources.router.routes.routename.defaults.action = myaction

EDIT:あなたの質問を再読み込みした後で書き直しに問題があるかもしれません:) allowoverrideがオンであると言います - あなたの設定の正確な行は何ですか?

あなたのリクエストがあなたのindex.phpを介してルーティングされていない場合は、「AllowOverride FileInfo」または「AllowOverride All」を試してみてください。

幸運を祈る!

+0

の先頭に次の行を追加することで、今それを読んでいます、ありがとうございます。私は、フレームワークの機能の1つが、アプリケーション・ユーザーをURL、構造化されたファイルに基づいて正しい、コントローラーおよびアクションに自動的に誘導することであると誤っていますか? –

+0

私の行は常に以下の通りです: "AllowOverride all" –

+0

Oと "FileInfo"はどちらも動作しません。 –

0

は、私はそれがここにsymlinks

私はあなたの問題はOptions Indexes FollowSymlinksが存在しないかもしれないと思う

<VirtualHost *:80> 
    DocumentRoot "C:\www\zf2-tutorial\public" 
    ServerName zf2-tutorial.local 
    ErrorLog "C:\Zend\ZendServer\logs\zf2-tutorial.local.log" 
    SetEnv APPLICATION_ENV "development" 
    <directory "C:\www\zf2-tutorial"> 
    Options Indexes FollowSymlinks 
    AllowOverride all 
    Order Deny,Allow 
    Allow from all 
    </directory> 
</VirtualHost> 

を作品例のバーチャルホストがあるかもしれないと思います。

あなたのURLはdomain.com/module/controller/actionとなりますが、domain.com/index.php/module/controller/actionと表示されることがあります。表示されたURLからindex.phpを削除する方法はいくつかあります。私が使用する方法は、私のindex.php

$_SERVER["REQUEST_URI"] = str_replace('index.php','',$_SERVER["REQUEST_URI"]);