2011-03-07 14 views

Respuesta

15
 
RewriteEngine on 

RewriteCond %{REQUEST_FILENAME} !index.php 
RewriteRule .* index.php?url=$0 [QSA,L] 

Necesita el QSA en la regla de reescritura.

+1

Esto también vuelve a dirigir mi CSS y JS ... Me gustaría aquellos que seguir trabajando y apuntando hacia donde deberían. – vsync

+1

@vsync A continuación, agregue un 'RewriteCond' que no coincide con esos archivos. Por ejemplo: 'RewriteCond% {REQUEST_URI}! ^/Js /' para no reescribir ningún archivo en el directorio 'js'. –

23

¿Cómo sobre el uso de la directiva FallbackResource: "Definir una URL por defecto para las peticiones que no se asignan a un archivo"

<Directory /web/example.com/htdocs/blog> 
    FallbackResource /index.php 
</Directory> 

De esa manera usted no tiene que llamar al módulo de modrewrite en cada petición.

http://httpd.apache.org/docs/2.2/mod/mod_dir.html#fallbackresource

+1

¿Cómo funciona esto para que funcione si su índice no está en el directorio raíz? P.ej. Quiero que mysite.com/project/* retroceda a mysite.com/project/index.php. Podría hacer FallbackResource /project/index.php, pero sería bueno tener una ruta relativa al .htaccess donde está definido (De esa forma puedo mover el directorio del proyecto al directorio de projectX sin modificar .htaccess) – Nathan

+2

No estoy usando ¿el repliegue realmente más lento que un redireccionamiento directo? Dado que el visitante ahora tiene que esperar hasta que el motor falle ** todas las coincidencias ** antes de ser redirigido a index.php. – Pacerier

Cuestiones relacionadas