3

これは私の問題です:私が働いてZendのアプリケーションはアルバ/ Linux上で実行しているZendのフレームワーク:小文字場合にのみ、インデックスのみのコントローラで「URLが見つからない」

。 うまくいくようです。

私はいくつかのコントローラー持っている:私は "http://www.foo.com/public/" と入力した場合、私は私のインデックスコントローラとindexアクションに到達することができ、インデックス、ユーザー、ビデオ、...

を。 「http://www.foo.com/public/user/register」と入力すると、ユーザーのコントローラにアクセスして操作を登録できます。 /:

私が入力した場合、「http://www.foo.com/public/index/index」が見つかりませんサーバーの戻りURL :(

しかし、最も奇妙なことは、私は「と入力した場合ですhttp /www.foo.com/public/Index/index」(大文字I上の注意を払って)それが動作します。

私が説明を試みるが、私はそれを見つけていない:(

をあなたは私を助けることができます??

ありがとうございます、Gabriele。

PS:私は存在しないコントローラを呼び出す場合Zendのカスタムエラーを示しています。私のコンピュータ上のロケールで、それはUPDATE

私は今日の午後に気付かなかった行動


の作品指定されたコントローラがないことを書き込みます。インデックスコントローラーでは、代わりに404:URLが見つかりませんでした。

私は絶対に何をすべきか分かりません...助けてください!


RE-UPDATE

私は「FOO」から「インデックス」からデフォルトのコントローラを変更した、私は正しく、すべてのファイル、クラスやフォルダの名前を変更したアプリケーションは、この愚かなエラーなしで、うまく機能...それはそれは魔法のようなものだ .. 'インデックスという言葉は、バグのいくつかの種類を作成しているようです

...

+0

ローカル=ウィンドウではなく、http://www.foo.com/user/register?はいの場合は、コントローラの名前を確認します。 IndexController.php /とクラス:IndexController extends .. – opHASnoNAME

+0

私はそれを書いていない場合は申し訳ありません:私は、Mac上のApacheサーバーの下にある!だからLinux上と同じです...名前はあなたが書いた通りです! – user1192448

+0

あなたのエラーログには何かがありますか? – opHASnoNAME

答えて

3

はインデックス/インデックスではなく、インデックス/インデックスにあなたのインデックスのURLを変更してみてください sのデフォルトではapache2 OME構成は、デフォルトのインデックスとしてインデックスを選ぶ。*ドキュメントルートで利用可能なファイル

0

私は「/インデックス」を「/インデックス」に変更し、それは私が同じ問題を抱えていた

+0

もう少し説明できますか?問題の原因は何ですか、厳密には大文字と小文字を区別するディレクトリですか? – greedybuddha

4

を働きました。

問題は私の仮想ホスト設定にありました。

<Directory /home/koen/zend/ZendCMS/public> 
      Options Indexes FollowSymLinks MultiViews ExecCGI 
      AllowOverride All 
      Order Deny,Allow 
      Allow from all 
</Directory> 

私はのMultiViewsの前にダッシュを入れて、それが問題を修正: は、私は私のバーチャルホストの私のディレクトリに以下の設定を持っていました。このよう

私は、Apache 2.2から2.4にアップグレードしたときに、私は同じ問題に遭遇した
+0

ありがとうございます!私は試してみます – user1192448

+0

これがあなたの問題を解決するのに役立つなら、それを答えとして受け入れてください:) –

+0

'MultiView'オプションを削除することもできます。デフォルトではオフになっています。私のapache2.4では '' MultiViews''を明示的に除外したい場合はすべてのオプションに '+'または '-'をつける必要がありました – cypherabe

2

を助け

<Directory /home/koen/zend/ZendCMS/public> 
      Options Indexes FollowSymLinks -MultiViews ExecCGI 
      AllowOverride All 
      Order Deny,Allow 
      Allow from all 
</Directory> 

希望。私は基本的に、あるバージョンから次のバージョンへのhttpd-vhosts.phpファイルをコピーしました(アップグレードガイドに記載された変更を加えた後)。私のサイトは/ index以外のすべてのページで正常に動作しましたが、私がそれをやめた場合はホームページが読み込まれます。

ArneRieが元の応答スレッドで提供した答えは、私にとってそれを解決したものです。 confファイルからMultiViewsを削除すると、問題が解決されました。

0

今日は私のような問題がありました。

$router->addRoute("object", 
     new Zend_Controller_Router_Route_Regex("object/(\d+)", 
      array(
       "controller" => "index", 
       "action"  => "object" 
      ) 
     ) 
    ); 
あまりにも動作します

他のすべてのコントローラは、このようなインデックス・コントローラへのルートも、動作します。

しかし、/ index /オブジェクトは、404ファイルが見つかりませんというエラーを表示します。

vhostの設定で[オプション]を選択する必要があります。私はそれらを完全に削除し、私の場合に役立ちました。

P.S:あなたのリンクは次のようになりますので、また、あなたは、パブリックフォルダであなたのバーチャルホストを指示することができますhttp://www.foo.com/public/user/register

関連する問題