Using a database to dynamically create web pages makes for a much improved site in many ways. However, such URLs are not very search engine friendly. Search engines are much better at indexing static pages, and don't do a good job of following hyperlinks that contain query strings. The advantages of a dynamic site are overwhelmingly obvious--so what is to be done? With a little extra effort, you can create a dynamic site that is easily crawled by webbots.
Make Dynamic URLs Search Engine Friendly - Test the Results (Page 5 of 7 )
If there are any problems we want to know about them before proceeding. There is no point in making the wrong modifications to our code! Type the rewritten URL into the address bar of your browser substituting actual literal values for the PHP variables. In our example, we know that there is a category called “books” and a subject called “biography.” That would make our URL:
http://www.mysite.com/typebooks-biography.htm
If the right page is returned then you’ve done everything correctly.
If not, here are a couple of suggestions. Make sure you have uploaded .htaccess into the right directory. Still have problems? Try the original, unrewritten URL in the address bar. If that also doesn’t work, then the format of your URL is incorrect. Go back, recopy it from your code and re-enter it into the rewrite rule generator.