I have set up a simple custom controller based on Alan Storm's tutorial. My controller action should be available on this URL:


But this path gives a Magento 404 error. The controller is instead found on the following path:


I don't understand why is this happening, as all of the tutorials and articles I found on the net tell me, that this should be working like that, none of them mention any extra tinkering. This problem is the same for built-in controllers too. This is a base CE 1.7 installation with sample data.

Can anyone shed some light on the matter? Thanks!


Most probably you have "Show store codes in url" set to "Yes". This explains the need for "default" in the url.
If you cannot access your controller at http://magento.localhost/default/helloworld/index/index/ it means that your mod_rewrite is not enabled or is wrongly configured. This explains the need for index.php in the url.

| improve this answer | |
  • That is exactly the kind of answer I was looking for - and it is correct! Thanks! :) – dsplynm Oct 30 '13 at 9:52

I am on magento 1.8 and i fixed my 404 error by doing the following. inside Magentotutorial_Helloworld.xml they tell you to put this code in

"codePool local codePool"

since i do not have a local folder i put mine into the community folder. Change the code to this and it will work.

"codePool community codePool"

| improve this answer | |
  • Local folder doesn't come by default in a stock Magento installation, you have to manually create it. – Prateek Oct 14 '15 at 8:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.