Troubleshooting Drupal : Why I can't see my page?
0) Try and flush the menu cache, theme cache
Explanation: I mentioned this in previous post also that, many times we go on making the changes and forget to clear the cache. Drupal caches everything in database and until and unless you clear cache, it can not pick new changes done in code. This is must when you do something related to menu in the custom module and theme.
1) Check for the url aliases setting
Explanation: Have a look at site building > url alias and get sure of settings. Also you can check if there is any wrong or old alias for your link at site building > url alias > list.
2) Verify all the menus
Explanation: While working as a part of large team, you can use Git/SVN like softwares to manage your code but you can not sync DB. So many times we try to track a url which (assigned to menu) is either deleted or disabled in administration.
3) Check for the panels or pages, views & their permissions
Explanation: There are modules like 'Panels' or 'Views' to create view pages to display screens. And we assign urls to such view pages, but because of some mis-configurations the page gets broken. If you find any 'view' or 'panel' related to broken page (broken url) you should check for the following points :
- Selected field to be shown but the dependent module is missing
- Custom PHP field is added with wrong code
- Custom MarkUp field is added with wrong code
- Rewritten the output for some field which is having wrong code
If every thing is okay in views please check the permissions of the view. You can find it in the views > edit [view name] > Permissions option. It is same for panels.
4) The White Screen of Death (Completely Blank Page)
Explanation: If you still do not see the desired page on url please go through http://drupal.org/node/158043/ . This is awesome post which will give you the vision to see and check for the errors.
5) Check for all custom modules
Explanation: Drupal is a really flexible framework and you can achieve the same thing via many ways. But just because it gives us flexibility we should not code in raw manner. We should always have scope to track it and a specific location control. What I meant is, we should have our own conventions also. There should be some specific location where you will put your own custom codes. Usually inside /sites/all/modules.
Check all such modules to see custom code and look for 'hook_menu' implementation. And if you find the url which you are looking for you should debug the callback function and your error will be resolved.
6) If error is module specific, update module & run update.php
Explanation: Check if the error is module specific meaning that the error show up after visiting a specific page/url from a module. If the culprit module is contributed or core module check for the Update of module on 'drupal.org'. Make sure you update the module to the latest version. Running update.php is necessary after this process because update may need some necessary manipulations in database.
7) Check .htaccess for any specific rule
Explanation: If none of the above works for you, please have a look at .htaccess. It may be a condition that someone might have placed a hard code redirect rule because of which you are not able to see the desired page.