Try this one:
/app/etc/modules/Custom_Module.xml
<?xml version="1.0"?>
<config>
<modules>
<Custom_Module>
<codePool>local</codePool>
<active>true</active>
</Custom_Module>
</modules>
</config>
/app/code/local/Custom/Module/etc/config.xml
<?xml version="1.0"?>
<config>
<modules>
<Custom_Module>
<version>0.0.1</version>
</Custom_Module>
</modules>
<global>
<models>
<custommodule>
<class>Custom_Module_Model</class>
</custommodule>
</models>
<helpers>
<custommodule>
<class>Custom_Module_Helper</class>
</custommodule>
</helpers>
</global>
<frontend>
<events>
<controller_action_predispatch>
<observers>
<Custom_Module_Model_Observer>
<type>singleton</type>
<class>custommodule/observer</class>
<method>noRoutUrl</method>
</Custom_Module_Model_Observer>
</observers>
</controller_action_predispatch>
</events>
</frontend>
</config>
/app/code/local/Custom/Module/Model/Observer.php
<?php
class Custom_Module_Model_Observer extends Varien_Event_Observer {
public function noRoutUrl($observer) {
if ((strpos(Mage::helper('core/url')->getCurrentUrl(),'my_page') != false) && (! Mage::getSingleton('customer/session')->isLoggedIn())) {
Mage::app()->getResponse()->setRedirect('/no-route');
}
}
}
?>
/app/code/local/Custom/Module/Helper/Data.php
<?php
class Custom_Module_Helper_Data extends Mage_Core_Helper_Abstract{
}
This the step you have to follow by creating all files