Check For Module Presence in .htaccess

By  on  

One of my favorite Apache modules is mod_rewrite. mod_rewrite allows me to manipulate page URLs so that I can search engine friendly URLs. Not every Apache server has the mod_rewrite module installed so you will want to add a conditional statement within your .htaccess file to make sure it's there.

The .htaccess

#Wordpress's .htaccess code
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

If the "mod_rewrite.c" module is present, that means that mod_rewrite is available and will be used. If not, the mod_rewrite code will be ignored. Using this conditional statement will prevent 500 Internal Server Errors.

Recent Features

Incredible Demos

  • By
    iPhone-Style Passwords Using MooTools PassShark

    Every once in a while I come across a plugin that blows me out of the water and the most recent culprit is PassShark: a MooTools plugin that duplicates the iPhone's method of showing/hiding the last character in a password field. This gem of...

  • By
    Vibration API

    Many of the new APIs provided to us by browser vendors are more targeted toward the mobile user than the desktop user.  One of those simple APIs the Vibration API.  The Vibration API allows developers to direct the device, using JavaScript, to vibrate in...

Discussion

  1. Jeff Hartman

    So what is the fallback for when it is not available? If you do this you need to make sure your code has a way to handle it, especially if your mod_rewrite conditions are passing get vars.

    I personally would like to know about a 500 server error so that I could fix the problem.

  2. shinzies

    Would it be fine to include this code into httpd.conf itself?
    Or is that a bad idea?

    Thanks David.

  3. shinzies

    Nope, the answer is it is bad idea because, Rewrite Base is only valid per-directory config files.

    :D

  4. how to make a link like this rerwiteRule index.php? module = article & id = 5

    thanks

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!