Firstly, before you reply telling me not to do this (and I fully understand why) please read my situation.

The website I've created for myself loads the file "index.php" and doesn't go anywhere else. All content that the site uses is loaded through ajax - and to allow bookmarking I've created a system which writes the page name after the "#" sign in the url.
Example: "http://localhost/#home"

This tag, as I'm going to call it, is changed by the javascript when the new page is loaded through ajax, and because it's after a hash the page does not get reloaded (like I wanted).

The problem is though, my site is impossible for search engines to crawl.

The search engine will find "index.php", and that will have no content as JS hasn't loaded it yet.

But my website works like this:
http://localhost/#home - This loads - http://localhost/pages/home.php
http://localhost/#blog - This loads - http://localhost/pages/blog.php

Is there a htaccess rule that I can use which will allow me to point the search engines to the PHP scripts?
(I can use the PHP user agent script to add the text hyperlinks where needed)

Thanks for any help!