Error 404 en URLs Windows y linux servers – WordPress
Problemas de Page not found 404 error(WordPress)
Puede haber algunos problemas por lo que no se muestran las urls y dé un error 404. Si el caso que le esta ocurriendo es en todas las urls vea la primera solucion sino vea la segunda.
1-La solución mas común a el Error 404 .
En primer lugar para arreglar esto debemos ir a nuestro escritorio e ir a ajustes>enlaces permanentes>Ajustes comunes seleccionamos nombre de la entrada (se debe tener el archivo .htaccess con permiso de escritura [write]) luego le damos clic a guardar cambios de esta manera ya debería de quedar escrito nuestro .htaccess, por ultimo cambie nuevamente el archivo .htaccess a solo lectura.
Es relevante decir que el permiso se debe cambiar en web.config en el caso de que se trate de un Servidor Windows (No es recomendado instalar WordPress en un Servidor Windows)
En caso de que nuestro WordPress este en un servidor Windows es probable que no se sobrescriba el web.config por lo tanto se debe agregarle las siguientes lineas a mano si no ocurre.
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="WordPress Rule" stopProcessing="true"> <match url=".*" /> <conditions> <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> </conditions> <action type="Rewrite" url="index.php" /> </rule> </rules> </rewrite> </system.webServer> </configuration>
Bueno en realidad lo que debe agregar es la regla pero quería poner el código de un archivo web.config sencillo. también de paso podríamos agregar esta regla. La siguiente regla es una regla para bloquear la inyección de código SQL la cual la traigo del blog de Nazim.
<rule name="Filter SQL injection" stopProcessing="true"> <match url=".*" /> <conditions> <add input="{REQUEST_URI}" pattern="[dD][\%]*[eE][\%]*[cC][\%]*[lL][\%]*[aA][\%]*[rR][\%]*[eE][\s\S]*[@][a-zA-Z0-9_]+[\s\S]*[nN]*[\%]*[vV][\%]*[aA][\%]*[rR][\%]*[cC][\%]*[hH][\%]*[aA][\%]*[rR][\s\S]*[eE][\%]*[xX][\%]*[eE][\%]*[cC][\s\S]*" /> </conditions> <action type="AbortRequest" /> </rule>
Aunque he dicho que no es recomendable instalar WordPress en un servidor Windows el código anterior esta para aquellas personas que no les quedo de otra y sea porque deba utilizarlo obligadamente.
2-Finalmente si nos pasa esto en algunas URLs.
Esto puede ser que se deba a algún plugin por ejemplo casos que se han visto con el plugin YOAST seo y la opción strip en la sección permalinks. Si este es el caso lo que podemos hacer es ir desactivando plugins hasta detectar el plugin que causa este problema y luego revisar sus opciones.