'Page not found' but hook_menu() is correct! This is my hook_menu:

$items['events/%event'] = array(
  'title' =&gt; 'Event',
  'title callback' =&gt; 'entity_label',
  'title arguments' =&gt; array('event', 1),
  'page callback' =&gt; 'events_view',
  'page arguments' =&gt; array(1),
  'access callback' =&gt; 'entity_access',
  'access arguments' =&gt; array('view', 'event', 1),
  'file' =&gt; 'events.pages.inc',
);

return $items;


But when I navigate to events/2 there's a 404 error waiting! Here's the page:



As you can see, my Event has been successfully created (it exists in database and its id is definitely 2) but the requested page could not be found and Shortcuts menu and Navigation block has disappeared.
What possibly could I mistaken?
Feel free to ask for more information.
Thanks.

EDIT:
I'm using Drupal 7.12
If you're getting a 404 it's due to one of the following:


You haven't cleared Drupal's cache since you implemented the menu item, OR
Your event_load() function is returning FALSE/NULL for the provided ID, OR
The function event_load() doesn't actually exist


Judging from the rest of your function/file names (events_view, events.pages.inc) your module is called events so your router load function will probably be called events_load() (note the additional s).

If that's true then you need to change your menu item to match that:

$items['events/%events'] = array(
  // ...


And clear Drupal's cache to pick up the change.