Home : Internet : Server : Apache : Mod Rewrite : Creating a portable .htaccess

Portablity

You may have noticed I included an "IfModule" wrapper round all the .htaccess mod_rewrite codes in the examples section.

<IfModule mod_rewrite.c>
# Place your mod_rewrite code here
<
/IfModule>

If you are distributing a script that uses mod_rewrite, you need to ensure your script is as portable as possible. It should work as many different environments as possible.

When you attempt to turn on the RewriteEngine on a server without the mod_rewrite module enabled, you will cause a 500 Internal Server Error every time a request is made to that directory.

For obvious reasons, that is a tad undesirable. To make a code portable and cross-platform, we can surround all our mod_rewrite lines in an IfModule conditional tag.

The lines inside the <IfModule mod_name.c>IfModule> will only be used if that particular module is enabled on that server.

That allows you to distribute .htaccess files safely, without causing any problems if mod_rewrite is not enabled.