Below is the only code I have in the .htaccess
file with apache 2.2.
I've read that its a performance impact to use a .htacess
and better if this this can be run out of httpd.conf
. Therefore is it possible for me to add this into httpd.conf
? If so where would I put it?
Would it need to go into the VirtualHost for each Host that needed it (in my case a lot of hosts) or could it go generically into httpd.conf so it applies to all hosts?
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
.htaccess
provides configuration for a directory, while httpd.conf provides an overall configuration. Of course, you can move content from .htaccess
to httpd.conf
.
You can find more about .htaccess here: Apache HTTP Server Tutorial: .htaccess files
Take your .htaccess for example:
Contents of .htaccess file in /www/htdocs/example
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
Section from your httpd.conf file
<Directory /www/htdocs/example>
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
</Directory>