examples - ¿Cómo usar apache mod_rewrite y alias al mismo tiempo?
redirect conf apache (2)
El [L] significa último.
Lo que realmente necesita usar también es el indicador [PT] para indicar que la ruta resultante de su regla de reescritura se debe pasar al siguiente controlador, que en su caso es la directiva de alias.
Como la etiqueta [PT] también implica la etiqueta [L], ya no necesita [L] también.
Tengo un directorio fuera de la webroot que se utiliza para almacenar imágenes cargadas desde un sistema de administración separado. Las imágenes se almacenan en este formato:
filepath/writable/images/00/00/23/65/filename-236581.jpg
(donde webroot es filepath / html)
...por ejemplo. Aquí, 236 es el ID de la imagen en la base de datos, y el sistema de archivos está dividido en directorios numerados para evitar que se usen más de 100 inodes dentro de un directorio.
Quiero poder acceder a estos desde el servidor web front-end, así:
http://(server)/filename-236581.jpg
Donde nombre de archivo es una cadena seo-optimizada, lo mismo que en el nombre del archivo real.
Puedo obtener mod-rewrite para reescribir la URL para que contenga los directorios adicionales numerados, y puedo obtener un alias para redirigir la solicitud al directorio de escritura / imágenes, pero no puedo hacer ambas cosas al mismo tiempo. Si pongo las directivas alias y mod_rewrite, ignora el alias y el registro de errores se queja de que no puede encontrar filepath / html / uploaded-images.
Esto es lo que tengo hasta ahora:
RewriteRule ^(.*)//([^//]*)-([0-9])/.(gif|jpg|jpeg|png)$ /uploaded-images/00/00/00/00/$2-$3.$4 [L,NC]
... y así sucesivamente, hasta llegar a:
RewriteRule ^(.*)//([^//]*)-([0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9])/.(gif|jpg|jpeg|png)$ /uploaded-images/$3$4/$5$6/$7$8/$9$10/$2-$3$4$5$6$7$8$9$10$11$12.$13 [L,NC]
alias /uploaded-images "filepath/writable/images"
Quitar la [L] no hace diferencia.
Eso [L] que tienes después de RewriteRule significa "Último"
Para ser sincero, creí que esto solo significaba que se ignorarían más líneas de RewriteRule, pero podría valer la pena echarle un vistazo.