Sometimes it is useful in the Apache configuration httpd.conf file to only apply configuration settings if a particular module has already been loaded. Or it is useful to load settings in the event an Apache module has not been loaded. Here is how to handle both cases:
<IfModule module_identifier> # do these Apache settings if the module has already been loaded </IfModule>
<IfModule !module_identifier> # do these Apache settings if the module has NOT already been loaded </IfModule>
Here are some examples:
<IfModule !php5_module> # If the PHP5 module has NOT already been loaded, load it LoadModule php5_module modules/libphp5.so </IfModule>
<IfModule php5_module> # If the PHP5 module has already been loaded, then do these settings AddHandler php5-script .php AddType text/html .php DirectoryIndex index.php </IfModule>
The module_identifier argument can be either the module identifier or the file name of the module, at the time it was compiled. For example, rewrite_module is the identifier and mod_rewrite.c is the file name. If a module consists of several source files, use the name of the file containing the string STANDARD20_MODULE_STUFF. You can read more about the <IfModule> Apache directive in the Apache documentation.