Mueva el contenido de.htaccess a vhost, para el rendimiento
apache2 vhosts (1)
Me preguntaba si se puede aumentar el rendimiento si muevo el contenido del archivo .htaccess a un archivo vhost de apache2?
Este es el contenido de mi .htaccess.
Options +FollowSymLinks +ExecCGI
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{SERVER_NAME} ^([^.]+/.[^.]+)$ [NC]
RewriteRule ^(.*)$ http://www.%1/$1 [R=301,L]
# we check if the .html version is here (caching)
RewriteRule ^$ index.html [QSA]
RewriteRule ^([^.]+)$ $1.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f
# no, so we redirect to our front web controller
RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>
Si hacerlo es una buena idea, ¿en qué lugar de la declaración vhost debo colocar el contenido por encima?
¡Gracias!
Si tiene la posibilidad de editar archivos de configuración vhost, siempre debe hacerlo. El .htaccess se está interpretando con cada solicitud individual que se realiza en su sitio, mientras que, por otro lado, vhost.conf solo se interpreta en httpd restart / reload.
Puede configurar las Options
en la directiva de directorio, por ejemplo:
<Directory /usr/local/apache2/htdocs/somedir>
Options +FollowSymLinks +ExecCGI
</Directory>
<VirtualHost [...]>
[...]
RewriteEngine On
RewriteCond %{SERVER_NAME} ^([^.]+/.[^.]+)$ [NC]
RewriteRule ^(.*)$ http://www.%1/$1 [R=301,L]
# we check if the .html version is here (caching)
RewriteRule ^$ index.html [QSA]
RewriteRule ^([^.]+)$ $1.html [QSA]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f
# no, so we redirect to our front web controller
RewriteRule ^(.*)$ index.php [QSA,L]
</VirtualHost>
También eche un vistazo a este wikipost en apache.org, especialmente en la sección ¿ Cuándo debería y no debo usar archivos .htaccess?