No reescriben las URL, estoy seguro de Quora y estoy bastante seguro de SO. Estas son las URL reales con las que trabajan: su motor de enrutamiento sabe cómo analizar una URL y a qué controlador llamar con qué parámetros (el controlador a su vez devolverá una determinada vista con un determinado objeto de base de datos adjunto).
En Django, por ejemplo, este sería el campo “babosa” en el modelo de datos, algo así como un título, pero con espacios reemplazados por guiones, y requeridos únicos. También puede ser la clave principal, pero generalmente no lo es, porque las cadenas no son claves primarias muy buenas (aunque, por supuesto, tendrá un índice, para permitir búsquedas rápidas).
Como este es un campo de modelo normal, puede aplicar cualquier lógica que desee. Por ejemplo, Quora agrega “-1”, “-2”, “-3”, es decir, hay un contador simple al final. La lógica es probablemente “si existe una URL, encuentre la última URL y agregue 1 al final”.
- ¿Hay alguna forma de obtener libros en línea gratis legalmente sin crear una cuenta?
- ¿Qué proyectos de código abierto se pueden usar para extraer contenido relevante de varias páginas web?
- ¿Cuáles pueden ser los motivos por los que un sitio web no se carga correctamente o tarda demasiado?
- ¿Qué es getmeexperts.com?
- ¿Cuáles son los mejores sitios web (foros, blogs, etc.) a seguir para obtener ideas de inversión orientadas a la inversión de valor?
TL; DR: encuentre un marco que tenga un motor de enrutamiento real en lugar de confiar en la estructura de archivos y carpetas, y esto es fácil. De lo contrario, puede intentar configurar reglas de reescritura que pasen la parte posterior a la barra como un parámetro de consulta (“site .com / what-is-this” se convierte en “question.php? Q = what-is-this”), y manejarlo allí. Aún podría tener las mismas reglas con los contadores y demás, solo es cuestión de buscar otra columna en lugar de la columna PK.