2011-09-15 8 views
4

Windows XAMPPインストールで動作するモジュールを作成しました。しかし、Linuxでのテストは正しく動作していないようです。具体的には、コントローラがロードされていないようです。Magento Controller Works Windows(Linuxではなく)

URL www.mysite.com/modulename/standard/にアクセスすると、404エラーが発生します。私はコントローラのクラス定義に先行するdie('here')を出力するメッセージを受け取ることを期待しています。

コントローラファイルは/app/code/local/Namespace/Modulename/controllers/StandardController.phpです。

クラスがそうのように、このファイル内に定義されています。

class Namespace_Modulename_StandardController extends Mage_Core_Controller_Front_Action

私のXML設定ファイルからの抽出物はここにある:

<frontend>  
    <routers> 
     <modulename> 
      <use>standard</use> 
      <args> 
       <module>Namespace_Modulename</module> 
       <frontName>modulename</frontName> 
      </args> 
     </modulename> 
    </routers> 
    <!-- other blocks here --> 
</frontend> 

私の最初の考えは、それは大文字小文字の区別ということでした私がWindows上で開発して気づいていなかった問題。以前はXMLフラグメントも次のようになっていましたが、これもうまくいきませんでした。また、両方のXMLバージョンでwww.mysite.com/Modulename/standardwww.mysite.com/modulename/standardにアクセスしてみたところ、毎回404エラーが発生しました。

誰かが問題になる可能性はありますか?

ありがとうございます。

編集

要求されたとして、ここではモジュールのconfigファイルです。これはすべて正しいと思われます。モジュールはAdmin/Developerページに表示され、モジュール設定画面(system.xmlで生成)はバックエンドに表示されます。さらに、モジュールの一部(と思われるのはコントローラー)がフロントエンドで作業しています!

<config> 
<modules> 
    <Namespace_Modulename> 
     <active>true</active> 
     <codePool>local</codePool> 
    </Namespace_Modulename> 
</modules> 
</config> 

編集2

いくつかのバージョンが有用であろう。 PHP 5.3 Magentoの1.5.1.0

+0

あなたは 'app/etc/modules/Namespace_Modulename.xml'を表示できますか? – jamapag

+0

@jamapag - 質問をXMLで編集しました。ありがとう。 – Pete171

+0

キャッシュをクリアしましたrm -rf var/cache/*? –

答えて

0

私はそれを信じられません。

自分の開発ボックスが私の知らないうちに更新されたようですが、その過程で私のApacheの設定が変更されました!私は最終的にMagentoの通常の404エラーページと醜い404ページしか受け取っていないことに気付き、/Modulename/standardというファイルが存在しないと言ったApacheエラーログを確認しました。私のApacheの設定を更新して、次の問題を修正しました。

<Directory "mymagentodirectory"> 
AllowOverride All 
</Directory> 

私はそれを信じられません。読んで返信する時間がかかったすべての人に感謝します!:)

0

このコードを試してみてください。

<frontend>  
    <routers> 
     <namespace_modulename> 
      <use>standard</use> 
      <args> 
       <module>Namespace_Modulename</module> 
       <frontName>modulename</frontName> 
      </args> 
     </namespace_modulename> 
    </routers> 
    <!-- other blocks here --> 
</frontend> 
+0

運がない、恐れている。 URL(www.mysitehere.com/modulename/standard/'と' www.mysitehere.com/modulename/standard/')と' 'タグの大文字と小文字の両方のバージョンで試してみました。 – Pete171

0

は実際にStandardController.phpという名前のコントローラですか?大文字と小文字の区別が必要なファイルシステムでは、「コントローラ」は大文字で始まり、他のすべての文字は小文字にする必要があります。

+0

これはその実際の名前です... – Pete171

+0

@ Pete171非常に奇妙な問題...あなたはどこかであなたのモジュールコードをアップロードできますか? – Zifius

関連する問題