¿Cómo añadir /blog/ como prefijo a la estructura de enlaces permanentes para entradas de blog, páginas de etiquetas, etc.?

5 jun 2011, 03:48:53
Vistas: 72.5K
Votos: 25

Estoy usando WordPress 3.1.3 como CMS completo, instalado en el directorio raíz de un dominio. Lo tengo configurado usando las opciones incorporadas para tener una página estática como página de inicio, y luego mi blog en http://www.example.com/blog.

Lo que me gustaría es que mis entradas individuales del blog, páginas de categorías, páginas de archivo y páginas de etiquetas, y cualquier otra página relacionada con el blog tengan el "prefijo" de /blog/ en su estructura de enlaces. Así, la URL de una entrada sería www.example.com/blog/titulo-de-la-entrada


En este momento, solo tengo las páginas de categorías funcionando correctamente. Esto se logró agregando la siguiente línea a mi archivo .htaccess:

RewriteRule ^category/(.+)$ http://www.example.com/$1 [R=301,L]

Luego, establecí la Base de Categoría como "blog" en la página de Configuración de Enlaces Permanentes en WordPress. Esto da a las páginas de categorías la URL de: www.example.com/blog/nombre-categoria (sin eliminar el prefijo de categoría en .htaccess, tenían la URL category/blog/nombre-categoria).


En un intento de hacer que esto funcione para las otras cosas que quiero, establecí mi Base de Etiquetas como "blog". También hice mi Estructura de Enlaces Permanentes Personalizada: /blog/%postname% (como sugieren algunos hilos que encontré buscando en Google).

Estas configuraciones dan a las URLs de las entradas individuales del blog, páginas de etiquetas y páginas de archivo la estructura de URL que estoy buscando. Sin embargo, hace que todas conduzcan a errores 404.

Eliminé mi archivo .htaccess para asegurarme de que WordPress estuviera escribiendo en él, y lo está haciendo. Si elimino el /blog/ de la estructura de enlaces permanentes, todo funciona correctamente, pero ya no tengo la estructura de URL que estoy buscando.

No sé qué más hacer. Sigo leyendo hilos y guías que dicen que esto es tan simple como agregar /blog/ a la estructura de enlaces permanentes, pero hasta ahora no ha sido tan simple.

Contenido de .htaccess:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
1
Comentarios

Como nota al margen, el enlace permanente que se muestra al editar una publicación es "incorrecto". No mostrará el enlace final.

Alexis Wilke Alexis Wilke
30 oct 2017 00:09:33
Todas las respuestas a la pregunta 2
5
33

Obtienes errores 404 cuando agregas /blog/ a la estructura de enlaces permanentes personalizados y luego también agregas /blog/ a la base de categorías. Solo debería agregarse a uno, la estructura de enlaces permanentes personalizados.

Si dejas tu base de categorías y base de etiquetas en blanco y solo agregas /blog/ al frente de la estructura de enlaces permanentes personalizados para que se vea así /blog/%postname% - esto dará el resultado deseado.

Tus páginas se verán así: dominio.ejemplo/nombredepagina/ La URL de tus publicaciones se verá así: dominio.ejemplo/blog/nombredepublicacion La URL de tus categorías se verá así - dominio.ejemplo/blog/categoria/nombredepublicacion

27 jun 2011 19:26:59
Comentarios

Buen hallazgo al añadirlo solo a una sección. Esta solución también agregará /blog/ a las páginas de categoría y archivo, lo cual es bueno. Realmente esta debería ser la respuesta aceptada.

Ian Ian
6 jun 2014 23:44:35

Me alegra que este método también se aplique a la URL de la página de categorías.

Edwin Yip Edwin Yip
4 nov 2014 07:11:06

Esta debería ser la respuesta aceptada a esta pregunta.

AndyWarren AndyWarren
17 oct 2017 16:17:52

agregará el prefijo a TODOS tus tipos de posts personalizados

nodws nodws
4 may 2018 00:22:17

Una pregunta común aquí probablemente sería: ¿Cómo gestionas esto solo para los tipos de posts "post" y cómo traduces /blog por ejemplo para diferentes idiomas? :)

trainoasis trainoasis
23 jul 2018 15:05:27
21

Ve a Ajustes>Enlaces permanentes y agrégalo a las estructuras de enlaces permanentes

5 jun 2011 07:35:48
Comentarios

Esa fue una de las primeras cosas que intenté, y resultaba en errores 404. Así que lo tenía deshabilitado por unas horas, y decidí intentarlo nuevamente después de leer tu respuesta. Ahora está funcionando para mis páginas de publicaciones individuales. También conseguí que las páginas de categorías volvieran a funcionar. Solo quedan las páginas de etiquetas y las páginas de archivo que necesitan el /blog/ en ellas.

Preston Preston
5 jun 2011 07:54:18

Si miras la página hay un espacio para las etiquetas también. En cuanto a las páginas de archivo, ¿estás hablando de la página que muestra la lista de artículos, etiquetas, categorías, etc. o de las publicaciones archivadas

xLRDxREVENGEx xLRDxREVENGEx
5 jun 2011 07:57:45

Con las etiquetas, si agrego blog en el área de Base de Etiquetas me da la estructura de URL correcta "mydomain.com/blog/nombre-etiqueta" pero esa página luego me da un error 404. Con los archivos, me refiero a la página que muestra las publicaciones archivadas para un mes en particular. Me gustaría que la URL fuera mydomain.com/blog/2011/05. Esa estructura de URL aparece cuando hago clic en un enlace de archivo, pero también da un error 404. Y ahora estoy obteniendo errores 404 para las publicaciones individuales del blog nuevamente. ¿Podría ser un plugin el que está causando problemas?

Preston Preston
5 jun 2011 07:58:52

¿Está correctamente configurado tu archivo .htaccess?

xLRDxREVENGEx xLRDxREVENGEx
5 jun 2011 08:00:20

Creo que sí, WordPress añade las reglas de reescritura cada vez que las cambio. ¿Debería haber algo en particular ahí para algo como esto?

Preston Preston
5 jun 2011 08:01:31

Primero verifica que tu archivo .htaccess exista, si no, necesitas obtener su contenido y crearlo manualmente.

xLRDxREVENGEx xLRDxREVENGEx
5 jun 2011 08:04:28

Existe, y he eliminado las otras cosas que había añadido, así que todo lo que hay allí es lo que aparece a continuación (con los saltos de línea correctos), y sigo recibiendo errores 404 en todo excepto en las páginas de categoría.

<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule>

Aprecio que te tomes el tiempo para ayudar, por cierto.

Preston Preston
5 jun 2011 08:08:34

La próxima vez simplemente publica el código en tu pregunta anterior con etiquetas de código. Editaré tu publicación con él, pero no será visible hasta que un moderador la revise. Intenta quitar el RewriteBase /, a veces el servidor no lo necesita o puede generar un error.

xLRDxREVENGEx xLRDxREVENGEx
5 jun 2011 08:14:40

Claro, lo siento por eso.

He eliminado la línea, pero sigo recibiendo errores 404 como antes.

Preston Preston
5 jun 2011 08:20:15

¿Tienes un enlace que pueda probar? Si no, no hay problema. Solo quiero ver si es solo tu sitio el afectado o si afecta a todos. También, ¿has leído la página del codex sobre esto http://codex.wordpress.org/Using_Permalinks especialmente hacia el final?

xLRDxREVENGEx xLRDxREVENGEx
5 jun 2011 08:24:23

Claro, he estado trabajando en el área del blog aquí enlace. Luego una publicación aquí enlace. Voy a revisar nuevamente la página de enlaces permanentes.

Preston Preston
5 jun 2011 08:32:00

esto es algo que recibí de un compañero miembro @toscho, dijo que pruebes agregar esta línea ^blog/category/(.+)$ en lugar de tu anterior

xLRDxREVENGEx xLRDxREVENGEx
5 jun 2011 08:36:11

ignora el último comentario. A menos que te funcione mejor. Desafortunadamente, estoy un poco atascado con esto. ¿Has verificado que tu servidor funcione con esto?

xLRDxREVENGEx xLRDxREVENGEx
5 jun 2011 08:40:30

Creo que logré que casi todo funcione. Eliminé "blog" de la Base de Categoría y, por alguna razón, todo excepto las páginas de categoría ahora funciona. Tengo esta línea en mi .htaccess RewriteRule ^blog/category/(.+)$ http://www.dvorakdesigns.com/$1 [R=301,L] pero las páginas de categoría aparecen como dvorakdesigns.com/category/nombre-de-categoria. ¿Era esa la implementación correcta de lo que toscho te dio?

Preston Preston
5 jun 2011 08:46:45

¿Y quieres /blog/category/nombre-de-categoria o /blog/nombre-de-categoria?

xLRDxREVENGEx xLRDxREVENGEx
5 jun 2011 08:51:39

Si blog/categoria/nombre-de-la-categoria es posible, sería ideal. De lo contrario, blog/nombre-de-la-categoria está bien.

Preston Preston
5 jun 2011 08:54:34

Tendré que pensarlo. Mientras tanto, intenta buscar en Google sobre este tema.

xLRDxREVENGEx xLRDxREVENGEx
5 jun 2011 09:04:05

Creo que lo resolví. Era tan simple como añadir blog/categoria como la Base de Categoría, y luego blog/etiqueta como la Base de Etiqueta. Con esto en el archivo .htaccess: RewriteRule ^category/(.+)$ http://www.dvorakdesigns.com/$1 [R=301,L] (esto evita que la URL sea categoria/blog/categoria). ¡Esperemos que todo siga funcionando! Muchas gracias por toda tu ayuda.

Preston Preston
5 jun 2011 09:30:16

Suena bien. No hay problema

xLRDxREVENGEx xLRDxREVENGEx
5 jun 2011 19:11:47

Esta solución no funciona para mí. Tengo una taxonomía que pasa de /mytaxonomy a /blog/mytaxonomy cuando hago esto, lo cual no es lo que quiero. Necesito /blog para las entradas y /mytaxonomy para los elementos de la taxonomía.

Pieter Pieter
28 abr 2013 14:26:47

Esto es FALSO, adjuntará el prefijo a TODOS tus tipos de contenido personalizados

nodws nodws
4 may 2018 00:21:19
Mostrar los 16 comentarios restantes