Ok, so I've written a .htaccess file change the url from:
localhost/MyWebsite/public/category1/category2/etc/ to localhost/MyWebsite/public/index.php?path=category1/category2/etc/

This seems to work fine:
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteBase /public/
RewriteRule ^(.*)$ index.php?path=$1
For some reason the .css links are broken whenever viewing a dynamic url.
- but a simple <base> tag to the index.php fixes that.

And with it all appears to work fine however there's some odd things that aren't working when viewing a dynamic url.

For example, this is the HTML generated for a nav bar:
<div id="backnav">
<li><a href="page1/">page1</a></li>
<li><a href="page2/">page2</a></li>
<li><a href="page3/">page3</a></li>
<li><a href="page4/">page4</a></li>
<li><a href="page5/">page5</a></li>
<li><a href="page6/">page6</a></li>
<li><a href="page7/">page7</a></li>
</ul><!-- Unordered list of Links-->
Perfectly fine html, but only the page 6 & 7's href's are interpreted by the browser, the others are regarded a link-less text.
Other image hover effects don't work.

If I disable the css the browser interprets all the html correctly. And css works correctly when not using .htaccess.

Has anyone heard of such a problem? Maybe if I could get access to the .css files only using .htaccess it would avoid this problem?