cambie los enlaces permanentes a ‘Postname’ porque no se encontró la página

5 minutos de lectura

avatar de usuario
Ireneo Crodua

tengo un query a fetch todas las publicaciones de un tipo de publicación personalizado device y quiero mostrar 3 publicaciones por página. utilizando el next y previous enlace, pude navegar a la página siguiente donde se pueden ver otras 3 publicaciones. funciona perfectamente con el predeterminado permalink cual es

  //the default permalink of wordpress
http:mywebsite/?p=123

y necesito convertirlo en Post name para fines de SEO, que es así:

http:mywebsite/sample-post/

y de repente aparece el problema.

He buscado y leído más blogs/artículos pero no puedo encontrar ninguna sugerencia útil. Estoy tan atascado con este problema que me da dolor de cabeza.

por cierto, usé esta consulta:

   <?php
     if (have_posts()) : {
     $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
     query_posts('showposts=3&post_type=advice'.'&paged='.$paged);} ?>

      <ul class="adviceLandingPage">

      <?php while(have_posts()) : the_post(); ?>

       <li>
         <span><?php the_title(); ?></span>
         <span><?php $excerpt = get_the_excerpt(); echo string_limit_words($excerpt,20); ?></span>

       </li>

       <?php endwhile; ?>
          <li class="navigation">
             <?php posts_nav_link(); ?>
          </li>
       </u>
     <?php endif; ?>

gracias por cualquier sugerencia

Editar:

cuando navego a la página siguiente, donde supongo que veré las siguientes 3 publicaciones, este es el error Page not found.

y este es el .htaccess después de cambiar el enlace permanente a %postname%

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

# END WordPress

  • ¿Puede dar más información, por ejemplo, cuál es el error que está ocurriendo, o puede publicar un enlace al sitio para que podamos ver el problema?

    – Gatito esponjoso

    15 de agosto de 2014 a las 8:09

  • cuando navego a la página siguiente este es el error es este page not found

    – Ireneo Crodua

    15 de agosto de 2014 a las 8:12

  • Realmente no tenemos suficiente aquí para continuar. El problema no parece estar relacionado con el bucle, por lo que el código incluido no ayuda. Algunas ideas para ayudar a solucionar el problema: ¿se generan las direcciones URL correctas en la navegación? ¿Está utilizando un tema personalizado?

    – Gatito esponjoso

    15 de agosto de 2014 a las 8:19

  • el problema solo aparece si cambio el enlace permanente a Post name pero uso el enlace permanente predeterminado, no hay problema para navegar a la página siguiente.

    – Ireneo Crodua

    15 de agosto de 2014 a las 8:23

  • Es muy difícil tratar de resolver el problema, hay tantos factores en un sitio WP. Este enlace puede ser útil tema-fusion.com/knowledgebase/…

    – Gatito esponjoso

    15 de agosto de 2014 a las 8:27

avatar de usuario
shahoo

Para solucionar este problema, siga los siguientes pasos:

  1. encuentra el httpd.conf archivo en el servidor web
  2. Encuentra el código LoadModule rewrite_module modules / mod_rewrite.so
  3. la eliminación de la # en frente de eso
  4. encuentra el código AllowOverride none y convertir a AllowOverride all

Es tan simple como delicioso 🙂

  • Sí, está bien, esta es la idea, pero con apache2 el procedimiento sería: crear el simlink/etc/apache2/mods-enabled/rewrite.load -> ../mods-available/rewrite.load luego editar /etc/apache2/apache2.conf y cambio AllowOverride none a AllowOverride all.

    – José Garrón

    14 de marzo de 2019 a las 15:41

avatar de usuario
Diyen Momjang

Ejecute los siguientes comandos

NB: El $ no es parte de los comandos

$ sudo a2enmod rewrite

$ cd /var/www/html

$ ls -al

$ sudo touch .htaccess

$ sudo nano .htaccess

Modifica tu .htaccess archivo para ver el fragmento de arriba

# BEGIN WordPress

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

# END WordPress

$ sudo chmod 644 .htaccess

$ sudo nano /etc/apache2/sites-available/000-default.conf

Asegúrate que AllowOverride All Está establecido

<Directory "/var/www/html">
    AllowOverride All
</Directory>

$ sudo /etc/init.d/apache2 restart

Consulte el siguiente enlace para obtener más información sobre esto.

https://sachinparmarblog.com/fixing-permalinks-on-wordpress-to-use-postname/

avatar de usuario
dstark

Compruebe también el httpd.conf archivar y asegurarse AllowOverride es All para el directorio que contiene el .htaccess expediente

no estoy seguro si ya solucionó esto, pero por lo general todo lo que necesita hacer es vaciar la base de datos, iniciar sesión en su sitio e ir a enlaces permanentes y simplemente hacer un cambio y guardarlo y si eso no ayuda

Lee esto:
http://codex.wordpress.org/Using_Permalinks

Encontré una solución.

Vaya al panel de administración de WordPress, vaya a:

“Configuración” > “Enlaces permanentes” > “Configuración común”, y configure el botón de opción en “Estructura personalizada”

y péguelo en el cuadro de texto:

/index.php/%year%/%monthnum%/%day%/%postname%/

y haga clic en el botón Guardar.

  • Esto funcionó para mí, pero no entiendo por qué funciona o cuál es el problema.

    – l3o

    17 de noviembre de 2020 a las 0:03

avatar de usuario
Ruhith Udakara

esto me sucede cuando no le di acceso de escritura al archivo .htaccess. cambiar el permiso del archivo .htaccess resolvió mi problema

  • Esto funcionó para mí, pero no entiendo por qué funciona o cuál es el problema.

    – l3o

    17 de noviembre de 2020 a las 0:03

avatar de usuario
gabo

Resolví ese problema en Settings-> Permalinks controlar Post name y copiar el contenido de .htacces, que se muestra al guardar. Acceder al alojamiento web y modificar la .htaccess y pegar el contenido y guardar

¿Ha sido útil esta solución?