Search engine friendly urls without mod_rewrite

When I set up my wordpress blog yesterday I wanted to use search engine friendly URLs which wordpress usually supports by the use of Apache’s mod_rewrite. Unfortunately my hoster doesn’t support .htaccess files in the small web package I currently purchased, which I found rather disappointing. Generally, there might by a couple of reasons why the default way of rewriting URLs might not work: Your hoster disabled .htaccess files (AllowOverride None), mod_rewrite is not loaded oder not available on the server or your site runs on IIS which naturally doesn’t Apache’s rewriting. Luckily there are two ways around this limitation that are supported by WordPress out of the box.

The first way that is suggested in the Using Permalinks Section of the WordPress Codex is by using URLs like index.php/some/path/. All you have to do is specifing the custom permalink structure in Options>Permalinks. Apparently this type of permalinks without the use of mod_rewrite worked in WordPress at least since v1.2 but for me, the ugly index.php/ path isn’t something I want to have permanently in my URLs. I favour the following sollution.

You can set your index.php of WordPress as the 404 error page for your website. This has the effect that WordPress is called for all your virtual URLs which do not exisit as actual files on the webserver. I’ve tested this with version 2.0 and so far it works pretty well. There may be problems with HTTP POST operations according to experiments with the textpattern weblog. If it turns out to work properly it should be added to the WordPress documentation since it produces the same clean URLs as mod_rewrite with the bitter aftertaste of being an ugly hack though.

Internally both methods rely on index.php to analyze the URL. Actually in WordPress v2.0 this has become the default way of URL rewriting any way. If you’d have a look at a .htaccess file of a WordPress v1.5 installation you’ll see about 30 rules for all the different URLs (search/, category/, author/, …). In WordPress v2.0 the .htaccess looks much cleaner: all requests are forwarded to index.php – pretty much the same way a redirection of the 404 error page would do it.

Joining in…

Welcome. I finally decided to give this weblog thingy a try ;-) . I started putting up a basic WordPress 2.0 blog with an only slightly modified kubrick theme as you can see, but I’m planning on using a k2 release when it’s getting more stable with WP 2.0. I definately want a simple but beautiful theme which means I either have to find a good theme that suits my needs or have to start designing it myself *sigh* if time permits. The page will change a lot, no matter what.

Content wise, you can expect software and web development as well as database topics, reviews of tools and hardware, ideas for projects and anything else I’ll find worth posting. I’ll probably include links to podcasts I listen to and I might link to my flickr pics though they are not tech related.

I know that most blogs die within weeks but I’m determined to produce some fresh content from every day development – stuff that excites or that bothers me – all the interessting tech bits.