Moveable Type is great when it comes to being lightweight on your webserver, because it creates most of your blog's functions as static content. It also creates a really nice URL structure, which comes in very nice when you are an URL fetishist like me. But you certainly have been bugged by the fact that MovableType's installation URL kicks in when you need to use MovableType's search function. Today I'd like to show you, how to configure your Moveable Type installation and your Apache Webserver to display smart URLs everywhere (expect the administration interface).
My blog makes use of what follows. Although I don't offer Movable Type's internal search function, but Google webpage search, my blog does have a tags page, with all tags being linked to related posts. This feature typically uses MovableType's search engine.
Editing your templates
First you should edit three related widget templates: Search, Syndication and Tag Cloud. You will find those templates by visiting the web administration interface of your Moveable Type installation. Click Design > Templates, then in the right sidebar on Widgets.
Using the Tag Cloud template, I will show you exemplary, how to edit all three templates:
The important part to look for is <a href="<$MTBlogURL$>tag/<$MTTagName$>"><$mt:TagName$></a>. What I'm doing is to point the tags to an URL like: http://www.example.com/tag/SampleTag.
Telling Apache to understand the changes
Now we need our webserver to understand, what those new links mean. In your Apache configuration you need to activate mod_rewrite. Next we need to provide a rewrite rule, so the Apache knows where to redirect a call to the URL to.
In our particular case it would look like this:
Remember to replace both $$$ with your current IDs (just click a tag and see, which IDs are being used).
Where to repeat those changes
To also apply those changes to Search and Syndication, you need to modify the templates Search and Syndication accordingly.
In Apache you should add those two lines:
Again, remember to replace both $$$ with your current IDs (should be the same ones you have had to use for the tags rewrite rule).
What if you don't have direct access to your Apache configuration?
To ease up things you can also just create a template for a .htaccess file. It may also be much easier to use and maintainable this way. Just make sure you don't rebuild it each time you rebuild your site.



Recent Comments