Después de la migración del servidor solo funciona la página de inicio

13 abr 2011, 21:32:58
Vistas: 122K
Votos: 42

Recientemente he cambiado el alojamiento de mi sitio WordPress a VPS.net. He movido todos mis archivos e importado la base de datos. Todo parecía estar bien hasta que hice clic en un enlace y noté que todas mis páginas están devolviendo un error 404 excepto la página de inicio.

La URL del sitio es http://inksquared.com

2
Comentarios

Tuve el mismo problema y se solucionó cambiando el archivo .htaccess según los valores predeterminados de aquí https://wordpress.org/support/article/htaccess/

Muzaffar Mahmood Muzaffar Mahmood
23 jun 2020 11:38:52
Todas las respuestas a la pregunta 6
8
54

Intenta regenerar las reglas de mod_rewrite:

Escritorio -> Ajustes -> Enlaces permanentes

Guarda los ajustes (no es necesario hacer ningún cambio)

13 abr 2011 21:36:23
Comentarios

En realidad, ni siquiera es necesario guardar. Las reglas se actualizan simplemente al visitar esa página, y parte de la actualización de las reglas implica escribir en el .htaccess.

John P Bloch John P Bloch
13 abr 2011 21:49:19

Aprendo algo nuevo cada día... :)

Chip Bennett Chip Bennett
13 abr 2011 21:51:20

@john ¿estás seguro de que simplemente cargar la página escribe en el .htaccess si es necesario? Tenía la impresión de que solo se actualizan las rewrite_rules en la base de datos.

Ashfame Ashfame
13 abr 2011 22:00:08

wp-admin/options-permalinks.php llama a flush_rewrite_rules(), un envoltorio para WP_Rewrite::flush_rules(), que si $hard es true (lo cual es cuando se llama en esa página) y la función save_mod_rewrite_rules existe (definida en wp-admin/includes/misc.php, incluida en todas las páginas de administración), llama a save_mod_rewrite_rules(). Puedes ver la definición de esa función aquí: http://core.trac.wordpress.org/browser/trunk/wp-admin/includes/misc.php#L114

John P Bloch John P Bloch
13 abr 2011 23:32:09

La función que realmente escribe las reglas de reescritura en .htaccess se llama insert_with_markers (usada en save_mod_rewrite_rules() mencionada arriba), definida aquí: http://core.trac.wordpress.org/browser/trunk/wp-admin/includes/misc.php#L53

John P Bloch John P Bloch
13 abr 2011 23:33:42

Esto lo solucionó para mí.

Ed DeGagne Ed DeGagne
17 abr 2017 04:11:13

No es necesario abrir el cPanel. Estaba probando primero la respuesta aceptada y el mío es un hosting compartido, así que no pude encontrar httpd.conf y el chat en vivo todavía se está cargando. Y luego encontré esta respuesta que es la solución más fácil de usar. :D

TheOnlyAnil TheOnlyAnil
4 ago 2017 11:24:23

esto resolvió mi problema (el mismo que el del op)

arvic.rivera arvic.rivera
6 dic 2018 22:12:27
Mostrar los 3 comentarios restantes
6
54

Supongo que obtienes http://tusitio pero no http://tusitio/cualquiercosa

Tuve un problema similar y funcionó cuando cambié

el httpd.conf de

AllowOverride None

a

AllowOverride All

Esto hace que el .htaccess tenga efecto.

18 abr 2012 18:20:28
Comentarios

Este me funcionó. La mayoría de la gente se olvida de esto.

qasimzee qasimzee
10 dic 2014 20:20:47

Esto también me funcionó, solo tuve que cambiarlo en la sección de apache2.conf para la ubicación de mis archivos del servidor, en mi caso /var/www

sponrad sponrad
17 nov 2015 08:04:10

Esto fue parte de la solución para mí. Añadí AllowOverride All a la configuración del sitio, pero también agregué Options FollowSymLinks. Luego pude usar permalinks personalizados, lo que también creó un archivo .htaccess raíz apropiado. Después de eso todo funcionó.

boot13 boot13
13 sept 2016 02:46:46

¡Y no olvides reiniciar apache! "sudo service apache2 restart"

gradosevic gradosevic
11 ene 2017 09:51:03

Funcionó. Asegúrate de cambiar la opción AllowOverride en las ubicaciones del archivo conf.

Najeeb Najeeb
19 dic 2017 15:54:06

habilitar en httpd.conf LoadModule rewrite_module libexec/apache2/mod_rewrite.so solucionó el problema en Mac. elimina el # para activarlo

stefanosn stefanosn
6 jul 2019 18:54:01
Mostrar los 1 comentarios restantes
5
31

Yo me enfrenté al mismo problema.

Hice lo siguiente para resolverlo en un servidor Ubuntu:

  1. En /etc/apache2/apache2.conf, edité AllowOverride None para /var/www/ cambiándolo a AllowOverride All

  2. Ejecuté el siguiente comando para habilitar mod_rewrite para .htaccess

sudo a2enmod rewrite

  1. Reinicié el servidor apache:

sudo service apache2 restart

¡El problema se resolvió!

22 nov 2015 04:40:28
Comentarios

Gracias, no pude solucionar esto con ninguna de las otras sugerencias, pero a2enmod rewrite funcionó.

Martin McCallion Martin McCallion
23 jun 2017 21:17:06

+1 Por mencionar el módulo rewrite. No me di cuenta de que no estaba habilitado por defecto.

Native Coder Native Coder
13 dic 2017 05:35:47

Definitivamente necesité ese sudo a2enmod rewrite para que funcionara, ¡gracias!

Huskie69 Huskie69
5 oct 2018 12:31:02

¡Gracias! El comando a2enmod rewrite funcionó para mí.

Lucas Basquerotto Lucas Basquerotto
17 oct 2018 18:46:45

¡Gracias Avinash! Lo mismo que Lucas, el comando a2enmod rewrite funcionó para mí

Jero Dungog Jero Dungog
25 nov 2019 23:52:17
0

En Ubuntu 14.04 - el archivo 000-default.conf se puede encontrar en /etc/apache2/sites-available

O si ejecutas múltiples instalaciones de WordPress, la configuración del host virtual sería el nombre de tu archivo de configuración. ej. dominio.conf

Tienes que reemplazar AllowOverride None por AllowOverride All

Espero que esto funcione.

9 nov 2015 17:51:54
0

La razón más probable es que el archivo .htaccess no se copió correctamente. En Mac OS X, y en algunas aplicaciones FTP, este archivo se considera "oculto" porque comienza con un .. Si vas a la sección Ajustes -> Enlaces permanentes en el área de administración, puedes regenerar este archivo, pero probablemente sea mejor encontrar la versión que tenías anteriormente y usarla de nuevo (especialmente si utilizas un plugin de caché).

13 abr 2011 21:46:27
2

¿Recibes un error 404 del servidor web o un 404 de WordPress? Si es un 404 del servidor web, lo más probable es que no hayas copiado el archivo htaccess raíz de la instalación anterior, o que no tenga los permisos correctos para ejecutarse.

Mi primer paso para solucionar problemas sería verificar si existe un archivo htaccess en la raíz y, de ser así, qué contiene.

13 abr 2011 21:36:15
Comentarios

Revisé el archivo .htaccess. Contiene el mismo código que aparecía en la sección de enlaces permanentes del panel de administración de WordPress. Cambié los permisos a escribibles y no veo cambios aparentes.

mikeyrocks mikeyrocks
13 abr 2011 22:17:22

@mikeyrocks Hmm... otra posibilidad es que tu nuevo servidor no tenga mod_rewrite activado. Importante: ¿estás obteniendo un error 404 del servidor (página blanca simple que dice "no encontrado") o un 404 de WordPress (con el estilo del resto de tu sitio)?

MathSmath MathSmath
13 abr 2011 23:11:24