Skip navigation


Community plumbing CMS

The Hottest Drupal week in Bulgaria is coming

As you may already know, several things happened for Drupal since the beginning of this year.

At first on 5 Jan 2011 Drupal 7 was released. Most promising than ever this release makes a great new adventure into building sites for everyone who is using it.

On 15 Jan 2011 Drupal made 10 years. Happy tenth birthday Drupal! Somehow I was born on the same day back in 1983. This can be a fortune or not, but since I met Drupal, my life changed and now I am celebrating even more this day :)

But there is more to come. Next week will be the Hottest Drupal week in Bulgaria ever!

Why use Drupal as a development platform?

Drupal is an Open Source Content Management System (CMS), designed for power and flexibility. Boasting one of the biggest professional developer communities, Drupal is quickly becoming one of the leading PHP content management systems in the world. This article explores several key points of Drupal, and the reason why I use it as a base for web solutions.

What is the power of Drupal?

Drupal excels as a CMS and also as a development platform. It has a strong core capable of large flexibility. This means that the system can support many types of features with ease, from shopping carts to user profiles, calendars, galleries and beyond. Drupal can handle just about anything you can imagine. As developers, we embrace this flexibility because it allows us to turn any website dream into reality.

Preventing Drupal from Handling 404s for Performance

The .htaccess file included with Drupal tells Apache to send all 404 requests to Drupal to handle. While this is great in some cases, the performance degradation can have a huge impact on a site that has millions of users.

When Drupal processes a 404, it has to bootstrap Drupal, which includes Apache loading up the PHP process, gathering all of the Drupal PHP files, connecting to the database, and running some queries. This is quite expensive when Apache can be told to simply say "Page not found" without having to incur any of that overhead.

Now you might say your site doesn't have any broken URLs as you haven't changed any. Well that's great, but as your site grows, it is going to be a target for spammers and hackers. They are going to start requesting all sorts of file to see if they can find an exploit. Instead of bootstrapping Drupal each time to tell them that DLL file doesn't exist, it would be much better if Apache could just say that, to save resources for your real users.

So, what can you do? How can you stop Drupal from handling 404s but not break modules like imagecache?

Imagecache is one of the few modules that relies on Drupal's 404 handling. It is a very smart module that automatically resizes images. Instead of resizing every single image as they are uploaded, it only resizes them when they are requested, which is great. So if we're going to tell Drupal not to handle 404s, we need to be careful not to break this highly useful module.