<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

    # Prevenir acceso directo a archivos .php (excepto index.php)
    <FilesMatch "\.php$">
        Order Allow,Deny
        Deny from all
    </FilesMatch>
    <FilesMatch "index\.php$">
        Allow from all
    </FilesMatch>

    <IfModule mod_rewrite.c>
    	RewriteEngine On
	RewriteCond %{HTTPS} On
	RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    </IfModule>

    # Redirigir todas las solicitudes que no sean archivos o directorios existentes a index.php
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?url=$1 [L,QSA]

    # Cache de imágenes (optimización) - opcional, pero recomendable
    <FilesMatch "\.(ico|jpg|jpeg|png|gif|svg)$">
      Header set Cache-Control "max-age=604800, public"
    </FilesMatch>

    # Compresión Gzip - para mejorar la velocidad de carga
    <IfModule mod_deflate.c>
        AddOutputFilterByType DEFLATE text/plain
        AddOutputFilterByType DEFLATE text/html
        AddOutputFilterByType DEFLATE text/xml
        AddOutputFilterByType DEFLATE text/css
        AddOutputFilterByType DEFLATE application/xml
        AddOutputFilterByType DEFLATE application/xhtml+xml
        AddOutputFilterByType DEFLATE application/rss+xml
        AddOutputFilterByType DEFLATE application/javascript
        AddOutputFilterByType DEFLATE application/x-javascript
    </IfModule>
</IfModule>