soluciona - pagina no encontrada wordpress
La URL/about solicitada no se encontró en este servidor (13)
La página de inicio de mi sitio web de wordpress parece mostrarse correctamente pero si hace clic en cualquiera de las otras páginas, aparece el siguiente mensaje de error:
Not Found
The requested URL /about was not found on this server.
Apache/2 Server at www.wildlionmedia.co.uk Port 80
No estoy seguro de que sea un problema con el tema o el archivo .htaccess que no se esté reescribiendo correctamente.
http://www.wildlionmedia.co.uk/
¿Alguna idea de cómo puedo resolver el problema?
# Switch rewrite engine off in case this was installed under HostPay.
RewriteEngine On
SetEnv DEFAULT_PHP_VERSION 53
DirectoryIndex index.cgi index.php
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine Off
RewriteBase /wildlionmedia.co.uk/
RewriteRule ^index/.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wildlionmedia.co.uk/index.php [L]
</IfModule>
# END WordPress
** Solucionado Permalink Issue Wordpress ** 1) Inicie sesión en wordpress dashboard> haga clic en configuración> enlaces previos> luego seleccione el nombre de la publicación. 2) Luego, inicie sesión en su servidor de hosting goto .htaccess y reemplace el código.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index/.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
Aquí hay otra versión para Wordpress, la original no funcionó como estaba previsto.
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^index/.php$ - [END]
RewriteCond $1 ^(index/.php)?$ [OR]
RewriteCond $1 /.(gif|jpg|png|ico|css|js)$ [NC,OR]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.*)$ - [END]
RewriteRule ^ /index.php [L]
</IfModule>
# END WordPress
Referencia de este repository Github, modificado un poco. Después de pruebas excesivas esta regla no resuelve todos los problemas Tenemos una tienda web de Wordpress, que tiene 40 complementos y en algún lugar hay un conflicto de reescritura. Espero sinceramente que la próxima versión de Wordpress no tenga reescrituras de URL.
RewriteRule ^index/.php$ - [L]
El ^
significa inicio de la cadena, /
escapes .
o significaría cualquier carácter, y $
significa el final de la cadena.
^index/.php$
if http (s): // nombrehost / index.php -
no hacer nada [END]
bandera [END]
puede usarse para terminar no solo la ronda actual del proceso de reescritura, sino también evitar el procesamiento posterior de la reescritura.
RewriteCond $1 ^(index/.php)?$ [OR]
En RewriteCond
utilizando $1
como una cadena de prueba, se hace referencia al contenido capturado de todo, desde el inicio hasta el final de la URL http (s): // nombre de host / bla / bla.php . Si se usa en sustitución o condición, hace referencia a la referencia inversa capturada. RewriteRule (bla)/(ble/.php)$ -
para http (s): // hostname / bla / ble.php captura bla
en $1
y ble.php
en $2
. Se puede acceder a varios grupos de captura a través de $3..N
.
( )
agrupa varios personajes en una sola unidad ?
obliga al partido opcional. [OR]
indicador [OR]
permite combinar las condiciones de reescritura con una relación OR lógica en lugar de la AND predeterminada.
En resumen, si bla / bla.php contiene index.php O la siguiente condición
RewriteCond $1 /.(gif|jpg|png|ico|css|js)$ [NC,OR]
( )
agrupa varios personajes en una sola unidad, |
separa los caracteres en subgrupos y los condiciona si alguno de ellos. [NC]
bandera [NC]
hace que la RewriteRule coincida de manera que no distinga mayúsculas y minúsculas.
En resumen, si bla / bla.php termina con cualquiera de los tipos de archivo O la siguiente condición
RewriteCond %{REQUEST_FILENAME} -f [OR]
Las variables de servidor son variables de la forma% {NAME_OF_VARIABLE} donde NAME_OF_VARIABLE puede ser una cadena tomada de la siguiente lista:
%{REQUEST_FILENAME}
es la ruta completa del sistema de archivos local al archivo o script que coincide con la solicitud, si el servidor ya lo determinó en el momento en que se hace referencia a REQUEST_FILENAME. De lo contrario, como cuando se usa en un contexto de host virtual, el mismo valor que REQUEST_URI. Dependiendo del valor de AcceptPathInfo, es posible que el servidor solo haya usado algunos de los componentes principales de REQUEST_URI para asignar la solicitud a un archivo.
-f
compruebe el archivo regular. Trata la cadena de prueba como ruta de acceso y prueba si existe o no.
En resumen, si bla / bla.php es un archivo O la siguiente condición
RewriteCond %{REQUEST_FILENAME} -d
-d
compruebe el directorio. Trata la cadena de prueba como una ruta de acceso y prueba si existe o no.
En resumen, si bla / bla.php es un directorio
RewriteRule ^(.*)$ - [END] not as in Github [S=1]
Esta declaración solo se ejecuta cuando una de las condiciones devuelve verdadero.
.
coincide con cualquier carácter *
cero o más veces.
La [S]
se usa para omitir las reglas que no desea ejecutar. La sintaxis del indicador de omisión es [S=N]
, donde N
indica el número de reglas que se deben omitir (siempre que coincida la regla de Rewrite). Esto se puede considerar como una declaración goto en su conjunto de reglas de reescritura. En el siguiente ejemplo, solo queremos ejecutar RewriteRule si el URI solicitado no corresponde con un archivo real.
En fin, no hacer nada
RewriteRule ^ /index.php [L]
El indicador [L]
hace que mod_rewrite deje de procesar el conjunto de reglas. En la mayoría de los contextos, esto significa que si la regla coincide, no se procesarán más reglas. Esto corresponde al último comando en Perl, o al comando break en C. Use este indicador para indicar que la regla actual debe aplicarse inmediatamente sin considerar otras reglas.
En resumen, reescriba cada ruta como http (s): // nombre de host / index.php
Busqué este pequeño documento de la documentación de apaches.org. Enlaces a continuación.
Asegúrese de que mode_rewrite esté habilitado en la configuración de APACHE. Vea el enlace aquí https://github.com/h5bp/server-configs-apache/wiki/How-to-enable-Apache-modules
Luego, asegúrese de tener .htaccess https://wordpress.org/support/topic/404-errors-with-permalinks-set-to-postname/
Y corrija la configuración del host virtual en cualquiera de las configuraciones de Apache.
Correr,
Aunque tarde Si alguien que sufre de problemas similares aquí es lo que puede hacer para permitir los enlaces permanentes, modifique su archivo de host virtual o dondequiera que esté alojando sus sitios WP.
Básicamente, todo funciona bien: configuras los enlaces permanentes para publicar y, de repente, la URL desaparece. Fuiste a muchos foros de discusión (como yo), intenté modificar mucho y obtuviste errores de "Permiso al servidor 403" o error de URL no encontrada. Todo lo que tiene que hacer es ir al archivo host, por ejemplo, 000-default.conf si usa un host virtual predeterminado o su archivo de configuración dentro de los sitios habilitados,
utilizar en la sección de directorio:
<Directory "path/to/dir">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
No use el siguiente directorio interno
Order allow,deny
Allow from all
Las directivas Order y Allow están en desuso en Apache 2.4 .
Del mismo modo, puede configurar el directorio en /etc/apache2/apache2.conf configurar el directorio para su ruta y no usar el anterior, esto causará el error 403 de permiso.
Además, deberá habilitar mod_rewrite para apache
Eliminé el archivo .htaccess anterior y creé uno nuevo haciendo clic en el botón Guardar en Configuración-> Permalinks
y ahora que las páginas comenzaron a funcionar bien ...
Eso no es un bloque típico de reescritura de Wordpress. Esto es:
# 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
Ver http://codex.wordpress.org/Using_Permalinks#Where.27s_my_.htaccess_file.3F
¿Dónde está mi archivo .htaccess? Los archivos index.php y .htaccess de WordPress deben estar juntos en el directorio indicado por la configuración de la Dirección del sitio (URL) en su página de Opciones generales. Dado que el nombre del archivo comienza con un punto, es posible que el archivo no sea visible a través de un cliente FTP a menos que cambie las preferencias de la herramienta FTP para mostrar todos los archivos, incluidos los archivos ocultos. Es posible que algunos hosts (por ejemplo, Godaddy) no muestren o le permitan editar .htaccess si instala WordPress a través de la instalación de Godaddy Hosting Connection.
Creación y edición (.htaccess) Si aún no tiene un archivo .htaccess, cree uno. Si tiene acceso shell o ssh al servidor, un simple comando táctil .htaccess creará el archivo. Si está utilizando FTP para transferir archivos, cree un archivo en su computadora local, llámelo 1.htaccess, cárguelo en la raíz de su carpeta de WordPress y luego cámbiele el nombre a .htaccess.
Puede editar el archivo .htaccess por FTP, shell o (posiblemente) el panel de control de su host.
La forma más fácil y rápida de hacerlo es restablecer sus enlaces permanentes en el Panel >> Configuración >> Permalinks y asegurarse de que .htaccess pueda escribirse para que WordPress pueda escribir las reglas por sí mismo.
Y: ¿sabe que está llamando a index.cgi
como su documento predeterminado en lugar de index.php
? Eso está mal. Eliminar index.cgi
. O intente eliminar toda la línea, también, porque puede que no sea necesario definir un documento predeterminado en su servidor.
Hay una respuesta confiable en el sitio web de Wordpress:
¿Dónde está mi archivo .htaccess?
Los archivos index.php y .htaccess de WordPress deben estar juntos en el directorio indicado por la configuración de la Dirección del sitio (URL) en su página de Opciones generales. Dado que el nombre del archivo comienza con un punto, es posible que el archivo no sea visible a través de un cliente FTP a menos que cambie las preferencias de la herramienta FTP para mostrar todos los archivos, incluidos los archivos ocultos. Es posible que algunos hosts (por ejemplo, Godaddy) no muestren o le permitan editar .htaccess si instala WordPress a través de la instalación de Godaddy Hosting Connection.
Creación y edición (.htaccess)
Si aún no tiene un archivo .htaccess, cree uno. Si tiene acceso shell o ssh al servidor, un simple comando táctil .htaccess creará el archivo. Si está utilizando FTP para transferir archivos, cree un archivo en su computadora local, llámelo 1.htaccess, cárguelo en la raíz de su carpeta de WordPress y luego cámbiele el nombre a .htaccess.
Puede editar el archivo .htaccess por FTP, shell o (posiblemente) el panel de control de su host.
El siguiente código de reescritura de enlace permanente debe incluirse en su archivo .htaccess (desde WordPress 3.0):
# 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
* Tomado de http://codex.wordpress.org/Using_Permalinks#Where.27s_my_.htaccess_file.3F .
La respuesta seleccionada no resolvió este problema para mí. Así que para aquellos que todavía se rascaban la cabeza por este, ¡encontré otra solución!
En mi configuración de Apache (httpd.conf) habilité el siguiente módulo:
LoadModule rewrite_module modules / mod_rewrite.so
Y ahora el sitio funciona como se esperaba.
Me funcionó así:
Vaya a Panel de administración de Wordpress> "Configuración"> "Permalinks"> "Configuración común", 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.
Me funcionó así:
Vaya a Panel de administración de Wordpress> "Configuración"> "Permalinks"> "Configuración común", 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.
Tengo esta solución de este link
Si todos los puntos anteriores no funcionan. Entonces prueba este. Lo intenté. Está funcionando para mí.
- Vaya a /etc/httpd/conf/httpd.conf .
- Cambie el Permitir anulación de ninguno a Permitir anular todo .
- Reinicie el servidor apache.
ACTUALIZACIÓN 2017
Para las nuevas versiones de apache el archivo se llama apache2.conf
Entonces, para acceder al archivo, escriba sudo nano /etc/apache2/apache2.conf y cambie la línea correspondiente dentro del bloque <Directory /var/www >
Tengo el mismo problema. Se puede acceder a mi página de inicio, pero el artículo simplemente no se encuentra en el servidor.
Vaya a cpanel file manager > public_html
y elimine .htaccess
.
Luego, vaya a la configuración de enlace permanente en WordPress, establezca el enlace permanente a lo que desee y luego guarde. Viola todo de nuevo a la normalidad.
Este problema ocurrió después de actualizar WordPress.
cambiar solo .htaccess:
# 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