
Estoy tratando de determinar la mejor manera de reenviar muchas URL de forma permanente en términos de rendimiento y operatividad. Entonces, hay 3 formas posibles en las que podría imaginarme hasta ahora:
- .htaccess Regla de reescritura
- Función de encabezado PHP que busca URL coincidentes en una matriz
- Función de encabezado PHP que ingresa a una base de datos MySql
No se trata de reenviar un dominio completo sino sólo algunas URL de dominios. Como, por ejemplo, cuando los nombres de los productos cambian dealgoaalgo más:
www.example.com/something > www.example.com/anything_else
mientras que las URL comowww.ejemplo.com/totally_differntpermanece intacto.
Respuesta1
Si busca un punto óptimo entre manejabilidad y rendimiento, le sugiero un proceso de dos pasos (usamos el mismo para nuestra configuración de enrutamiento HTTP):
- Las URL existen en la base de datos para facilitar el mantenimiento.
- Un script (bash, PHP, lo que sea) crea un script PHP a partir de la base de datos y una plantilla, definiendo una matriz con la ruta original como clave y la nueva ruta como valor, luego busca la ruta del documento solicitado y, si la encuentra, redirige a el nuevo, si no muestra un 404. Este "script de creación de script" se ejecuta, si la base de datos cambia
- El script generado se utiliza como respaldo 404.
Si usa HHVM o un caché de código de operación, esto es increíblemente rápido: el código en sí está listo y todo lo que hay que hacer es una búsqueda en la tabla hash.