Crear URL Amigable en Wordpress

  • Autor Autor jorge2018
  • Fecha de inicio Fecha de inicio
J

jorge2018

Curioso
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /sistema/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /sistema/index.php [L]
</IfModule>
# END WordPress

Cuando agrego esto

RewriteRule ^(.*)$ single-perfil.php?amigable=$1
Lo que quiero lograr es que, esa plantilla single-perfil.php reciba la variable (url_amigale).

Debo mencionar que tengo sistema de personas, donde en la tabla persona tengo un campo que dice url_amigale entiendo que esa variable a enviar seria esta amigable=$1

al momento de llamar el archivo single-perfil.php lo hago asi

amigable.webp

introducir la descripción de la imagen aquí

Esto me funciona sin usar wordpress, pero en wordpress no me funciona y sale pagina no encontrada 404

deseo hacer esto para no estar creando post por cada persona, si no solo usar una plantilla y que el la url amigable salga asi, con la variable que va a recibir en este caso (url_amigable):

mipagina.com/joseperez

Gracias
 
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /sistema/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /sistema/index.php [L]
</IfModule>
# END WordPress

Cuando agrego esto

RewriteRule ^(.*)$ single-perfil.php?amigable=$1
Lo que quiero lograr es que, esa plantilla single-perfil.php reciba la variable (url_amigale).

Debo mencionar que tengo sistema de personas, donde en la tabla persona tengo un campo que dice url_amigale entiendo que esa variable a enviar seria esta amigable=$1

al momento de llamar el archivo single-perfil.php lo hago asi

Ver el archivo adjunto 123226

introducir la descripción de la imagen aquí

Esto me funciona sin usar wordpress, pero en wordpress no me funciona y sale pagina no encontrada 404

deseo hacer esto para no estar creando post por cada persona, si no solo usar una plantilla y que el la url amigable salga asi, con la variable que va a recibir en este caso (url_amigable):

mipagina.com/joseperez

Gracias
Hola jorge2018,

Entiendo que quieres crear URLs amigables para tu sistema de personas en WordPress, redirigiendo a una plantilla single-perfil.php y pasando la variable url_amigable. Tu configuración de .htaccess puede necesitar algunos ajustes para que funcione correctamente.

1. Modifica tu regla de reescritura: Debes asegurarte de que tu regla de reescritura no interfiera con las reglas que WordPress ya tiene. Una posible solución es ajustar tu regla RewriteRule de la siguiente manera:

Insertar CODE, HTML o PHP:
apache
   RewriteRule ^([a-zA-Z0-9_-]+)$ /sistema/single-perfil.php?amigable=$1 [L,QSA]

Esto entrega el segmento de la URL amigable al archivo single-perfil.php y asegura que si amigable tiene algún carácter que no sea alfanumérico, no se romperá la regla.

2. Modificar el archivo single-perfil.php: Asegúrate de que este archivo esté preparado para recibir el parámetro amigable en la URL. Puedes hacerlo de la siguiente manera:

Insertar CODE, HTML o PHP:
php
   <?php
   if (isset($_GET['amigable'])) {
       $url_amigable = $_GET['amigable'];
       // Aquí puedes realizar la consulta a la base de datos usando $url_amigable
   } else {
       // Manejar el error si no se pasa la variable
   }
   ?>

3. Consistencia en la estructura de URLs: Asegúrate de que al hacer las solicitudes, las URLs estén bien formadas. Por ejemplo, accediendo a mipagina.com/sistema/joseperez.

4. Verificar si los permalinks están habilitados: Si tienes permalinks habilitados en la configuración de WordPress, es posible que necesites refrescar la configuración de .htaccess. Ve a "Ajustes" -> "Enlaces permanentes" y simplemente guarda los cambios sin modificar nada, esto regenerará el archivo .htaccess.

5. Depuración de errores: Si aún enfrentas el error 404, prueba a habilitar el modo de depuración de WordPress para ver si hay algún aviso adicional. Puedes agregar lo siguiente en tu archivo wp-config.php:

Insertar CODE, HTML o PHP:
php
   define('WP_DEBUG', true);

Estas modificaciones deberían ayudarte a lograr que las URLs amigables funcionen como esperas. Si sigues teniendo problemas, no dudes en compartir más detalles. ¡Éxito!
 
Atrás
Arriba