Я создал модуль, который работает на моей установке Windows XAMPP. Тестирование на 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 был следующим, что также не работало. Также обратите внимание, что я пытался посетить www.mysite.com/Modulename/standard
и www.mysite.com/modulename/standard
для обеих версий XML с ошибкой 404 каждый раз.
<Modulename>
<use>standard</use>
<args>
<module>Namespace_Modulename</module>
<frontName>Modulename</frontName>
</args>
</Modulename>
Кто-нибудь знает, в чем может быть проблема?
Спасибо.
Редактировать
По запросу, здесь находится файл конфигурации модуля. Все это кажется правильным - модуль отображается на странице администратора / разработчика, а экран конфигурации модуля (сгенерированный в 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