Estoy trabajando en nextjs y tengo una lista de "blog" y después de hacer clic en el blog, la página se redirige a la "página de detalles del blog" y la URL actual es como
"http://localhost:3001/29"Que funciona bien, pero quiero que mi URL sea como
http://localhost:3001/slug/posttitleMi código actual para "Enlace" es el que funciona bien
<Link href={{pathname: "/[id]",query: { id: post.id },}}>Pero para cambiar "id" a "slug" en la URL, probé con el siguiente código
<Link href={{pathname: "/[slug]",query: { title: post.title },}}> Pero mi URL se convierte en "http://localhost:3001/[slug]?id=myslug"
Dado que su página raíz "/" ya es la sección de su blog que contiene la lista de todas las vistas previas de sus publicaciones de blog, podría crear una carpeta llamada article dentro de la carpeta de pages , por ejemplo, y luego dentro de esa carpeta crear su página de publicación dinámica basada en el slug de la publicación: [slug].js . Entonces la ruta sería: example.com/article/your-post-slug .
Dentro de su página [slug].js , debe usar getStaticPaths y getStaticProps para renderizar previamente todas las rutas para cada publicación individual y también el contenido de cada una.
Por supuesto, en su página principal también debe usar getStaticProps para obtener todas sus publicaciones.
En su página principal, envuelva la vista previa de cada publicación con un Link que apunte a: /article/${slug} . Espero que ayude.