The template tags
previous_posts_link should work from the index.php template… BUT…
If you are doing an .htaccess rewrite to arrive at your index.php, these tags will fail.
The function responsible may be:
template-function-links.php (at line 389).
I noticed this line of code:
$qstr = wp_specialchars($_SERVER['REQUEST_URI'])
The value returned by this line is what appears to be buttering up the link that is returned by
For example, if your site is
www.example.com, and you use htaccess to direct visitors to:
(where wp-dir is wp install directory)
the link returned by next_posts_link will look like this:
Obviously this will return a 404 error — so you will not be able to navigate through your posts.
I discovered this problem recently and am still looking for a solution.