habilitar - .htaccess url-rewrite si el archivo no existe
a2enmod rewrite (3)
Debo hacer un pequeño truco para un sitio! La idea es:
- si existe un archivo para una url requerida, entonces voy a esa url, sin hacer nada más;
- si no existe un archivo para una url requerida, debo ir a file.php y luego hacer algo, ¡pero NO cambiar la url!
ejemplo:
www.misitio.es/page1.htm -> existe -> ir al archivo page1.htm
www.mysite.com/page2.htm -> NO existe -> vaya al archivo default.php pero con url "www.mysite.com/page2.htm"
Es posible hacer esto todo por .htaccess?
Implementar una regla de error 404. No requiere mod_rewrite:
ErrorDocument 404 /default.php
No se menciona aquí, pero FallbackResource es la nueva forma recomendada de manejar URLs no encontradas (404) . Ejemplo:
FallbackResource /not-404.php
Desde el manual de Apache :
Use esto para configurar un controlador para cualquier URL que no se asigne a nada en su sistema de archivos, y de lo contrario devolvería HTTP 404 (No encontrado).
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ /default.php [L]