Pregunta

Veo a menudo (reescrito) URLs sin IDENTIFICACIÓN en él, como en algunas instalaciones de wordpress.¿Cuál es la mejor manera de lograr esto?Ejemplo:site.com/product/some-product-name/ Tal vez para mantener la matriz de los nombres de las páginas y los Identificadores de caché, para evitar DB consulta en cada solicitud de página?Cómo evitar los conflictos, y ¿qué otras cuestiones sobre el uso de urls sin IDs?

¿Fue útil?

Solución

El uso de un IDENTIFICADOR presenta el mismo problema, de verdad-sólo estás de cheques por un valor diferente en la base de datos."Algunos de los que-producto-nombre de la" parte de la URL anterior también es algo único.Algunas personas los llaman babosas (Wordpress, también permalinks).Así que en lugar de consultar la base de datos de una fila que tiene el particular de IDENTIFICACIÓN, usted está consultando la base de datos de una fila que tiene un particular slug.Usted no necesita saber el ID que permite recuperar el registro.

Otros consejos

Mientras los nombres de los productos son únicos, no debería ser un problema.No va a tomar más tiempo (al menos no significativa) para buscar un producto por nombre único de IDENTIFICACIÓN numérica mientras la columna está indexado.

Wordpress tiene un campo en la tabla wp_posts para el slug.Al crear el post, crea una babosa desde el título del post (si lo tienes configurado), en sustitución de los espacios con guiones (o creo que se puede establecer que se subraya).También se lleva a cabo la apóstrofes, comas, o lo que sea.Creo que también limita la longitud total de la babosa, demasiado.

Así que, en definitiva, no es dinámicamente la decodificación de la dirección URL en el título de la entrada, hay un campo en la tabla que coincida con la URL de la versión del puesto nombre directamente.

Como usted puede o no puede saber, las direcciones Url están siendo re-escrito con Apache mod_rewrite el módulo.Como se ha mencionado aquí, Wordpress es, en el fondo, la asignación de una babosa después de desinfectar el título o el nombre del puesto.

Pero, para responder a su pregunta, lo que usted describe es Wordpress' "Pretty Permalinks", y usted puede aprender más sobre él en el Codex de Wordpress.Las nuevas versiones de Wordpress para hacer la re-escritura internamente (no .htaccess editin, wp_rewrite en su lugar).Cual es la razón por la que usted va a ver el mismo conjunto de reglas para cualquier permalink estructura.

Aunque, si lo hace un poco de excavación puedes encontrar las viejas reglas de reescritura.Por ejemplo:

RewriteRule ^([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/?$ /index.php?year=$1&monthnum=$2&day=$3 [QSA,L]

Tendrá una URL como /2008/01/01/ y directa /index.php?year=2008&monthnum=01&day=01 (y la carga de una fecha de la categoría).

Pero, como se ha mencionado, una página como product-name existe sólo debido a que Wordpress ya desinfectado el título de la entrada y se almacenan como un campo en la base de datos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top