Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I've got Apache 2 installed on a Suse machine. I've gone through its configuration files, checked out which modules are installed in Yast and even tried writing a rewrite rule in a .htaccess which doesn't work. I can't seem to find mod_rewrite anywhere.

I take it this mean that mod_rewrite is not installed? How can I find out for sure?

share|improve this question
up vote 5 down vote accepted

"/usr/sbin/httpd -l" will list your compiled-in modules, and "/usr/sbin/httpd -M" will list your included modules as per your current configuration file.

Naturally, you may have httpd in a different path.

Typically, the list of compiled-in modules is short, and the list of loaded modules somewhat longer. If it's in the list of loaded modules, it looks like "rewrite_module (shared)".

share|improve this answer

Drop a RewriteEngine On into the main config, and do a configtest. If it passes, mod_rewrite is installed (possibly built-in), if it errors out saying that RewriteEngine is an unknown directive, then it's not installed.

Also, I'd be surprised if the server error log didn't indicate that the htaccess file failed to run properly.

share|improve this answer

A simple phpinfo() will list the available modules.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.