I am hitting the same issue described in this post http://ellislab.com/forums/viewthread/161860/ except in my case I am not (currently) removing index.php or doing anything else fancy with .htaccess.
I have set a category reserved word (the highly original “category”), and then set up the default template (blog/index) to handle both the site homepage and category pages. This was working fine until I specified a 404 page in global template preferences.
Now, instead of using the index template to display my category pages (e.g. at http://mysite.com/index.php/category), EE is returning my 404 page. I assume it is not recognising the category reserved word as a valid segment_1? I am happy to set up a separate template to handle categories, but am not sure how this would be done.
I link to categories using:
{exp:channel:categories show_empty="yes" channel="blog"}
<a href="http://{path=SITE_INDEX}">{category_name}</a>
{/exp:channel:categories}In am running Build:20100430 which I think is still the public beta.
Here is my (simplified, but tested) index template code:
{if segment_1 == ""} {!-- this is the homepage --}
<h1>Homepage</h1>
{if:elseif segment_1 == "category"}
{if segment_2 == ""}{!-- this is the categories homepage --}
<h2>Categories</h2>
<p> {exp:channel:categories show_empty="yes" channel="blog"}<br />
<li><a href="http://{path=SITE_INDEX}">{category_name} - {exp:catcount cat_id="{category_id}" status="open"} entries »</a></li><br />
{/exp:channel:categories}<br />
{if:else}{!-- this is a category listing page --}<br />
{exp:channel:category_heading channel="blog" relaxed_categories="yes"}<br />
</p><h2><span class="catname">{category_name}</span></h2>
<p> All posts relating to <span class="catname">{category_name}</span>.<br />
{/exp:channel:category_heading}</p>
<p> {exp:channel:entries channel="blog|file|meeting" limit="10" paginate="bottom"}<br />
</p><h3><a href="http://{title_permalink=post}" title="{title}">{title} {if channel == "file"}({file_type}){/if}</a></h3>
<p> {if extract != ""}<br />
{extract}<br />
{if:else}<br />
{exp:word_limit total="50"}{body}…{/exp:word_limit}<br />
{/if}<br />
<a href="http://{title_permalink=post}" title="{title}">read more »</a><br />
</div><br />
{/exp:channel:entries}<br />
{/if}<br />
{if:else}<br />
{redirect='blog/404'}<br />
{/if}