Programación
está sin resolverBuenos días.
Estoy a punto de lanzar un blog en wordpress 3.2.1 con una plantilla de http://wpcharity.com/.
Tras hacer toda la migración de entradas de mi antiguo blog, instalar los plugins y configurar todo he visto que en los permalinks se mostraba siempre en "index.php" + la dirección del enlace.
Si selecciono un permalink personalizado (/%category%/%postname/) y le quito el index.php los enlaces no funcionan.
He modificado la reescritura del .htaccess con el siguiente código:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Con esta estructura en el .htaccess, desaparece el index.php de la pagina inicial pero no desaparece el index.php ni de los post individuales ni de las opciones de configuración de los permalinks, y por supuesto, no me deja pasar a "Entradas anteriores" porque carga (http://XXX.es/index.php/Index.php/page/2/) y no lo reconoce.
He mirado en internet y parece se que carga ese index.php porque no reconoció a mi servidor como tipo “Apache, la solución es decirle a vars.php directamente que sí que es un servidor apache, eso se puede hacer fácilmente con "$is_apache = 1;".
Hecho esto y con la configuración predeterminada que es la única que acepta (porque el resto salta error), desaparece ese index.php de las configuraciones de los permalinks y de cada post individual, además de poder mirar las entradas antiguas (aunque con la estructura (http://XXX.es/Index.php/?paged=2), pero lo muestra en la página inicial (http://XXX.es/Index.php/) :S
Predeterminado http://XXX.es/?p=123
Día y nombre http://XXX.es/2011/05/01/sample-post/
Mes y nombre http://XXX.es/2011/05/sample-post/
Numérico http://XXX.es/archives/123
Se os ocurre alguna posible solución para eliminar el index.php de los permalinks, ponerle la forma personalizada /%category%/%postnam%/ y que acepte la carga de "Entradas antiguas"?
P.D. He pensado que quizás se trate de alguna regla/restricción del servidor y que puede que no tenga nada que hacer.
Muchas gracias.
Hola preguntas tontas
-lo has probado con otros themes que tengas?
-como has editado el htaccess, en un principio wordpress lo hace solo al cambiar de estructura.
Hola preguntas tontas
-lo has probado con otros themes que tengas?
-como has editado el htaccess, en un principio wordpress lo hace solo al cambiar de estructura.
Hola,
Antetodo gracias por responder, a la primera pregunta sí que he probado con otro theme (el Twenty Ten Típico) y ha pasado lo mismo (aunque lo he probado con el .htaccess y el vars.php modificados).
A la segunda, vía FTP sobreescribiendo archivo con el código que he puesto arriba, antes wordpress tenía el .htaccess pelado con "# BEGIN WordPress # END WordPress".
Un saludo.
Porque modificas el archivo vars.php?
Yo probaria
poniendo los permalink por defecto, borrando el archivo htaccess y restaurando el vars.php al original.
Luego vuelves a cambiar el permalink y me cuentas.
A mi entender no tendria que pasarte, bueno ya contaras
Porque modificas el archivo vars.php?
Yo probaria
poniendo los permalink por defecto, borrando el archivo htaccess y restaurando el vars.php al original.
Luego vuelves a cambiar el permalink y me cuentas.
A mi entender no tendria que pasarte, bueno ya contaras
Modifico el vars.php porque he leído que muchas veces cuando no reconoce el apache con ponerle el valor true desaparece el molesto index.php y es cierto que en la principal desaparece pero sigue dando problemas en el resto.
Todo por defecto y directamente sin .htaccess? O_O Cuando vuelva a casa pruebo a ver...
Edito: Ahora que caigo, la ruta del server es esta: XXX.es / httpdocs / .htaccess, no tendría que meterle el subdirectorio en el .htaccess? Como de la siguiente manera?
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /subdirectory/
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /subdirectory/index.php [L]
</IfModule>
# END WordPress
Es que borrar un archivo de seguridad de apache no me da mucha confianza, eh?
No te lies con el .htaccess WordPress lo crea correctamente. Eliminalo y pon el siguiente permalink:
/%postname%.html
WordPress lo creará de nuevo
Si sigue saliendo el index.php es problema del servidor. Ya le ha pasado a alguien anteriormente en el Foro pero no nos hemos enterado cual era el problema.
Un saludo
@23r9i0: He restaurado el .htaccess y el vars.php y puesto los permalinks por defecto y sigue sin funcionar.
@LGrusin: He dejado el .htaccess vacía (es lo mismo que borrarlo vaya) y he probado con la ruta para el permalink y nada.
Pues habrá que hacer migración cuando termine el mes contratado.
Muchas gracias a ambos.
A ver el archivo .htaccess tiene que existir, es imprescindible pero no puede estar vacio. Lo de eliminarlo era para que WordPress creara el correcto.
Un saludo
A ver el archivo .htaccess tiene que existir, es imprescindible pero no puede estar vacio. Lo de eliminarlo era para que WordPress creara el correcto.
Un saludo
Discrepo, ya que el archivo .htaccess no es en absoluto imprescindible. Puede estar vacio e incluso no existir y el sitio funcionar correctamente.
Si quieres personalizar las URLs, deberás primero darle permisos CHMOD 666 al .htaccess para que WordPress pueda rellenarlo y una vez realizado, volver a cambiar los permisos a 644.
Pues ya me dirás como activas los Permalinks o enlaces amigables sin .htaccess.
Un saludo
Debes Identificarte para publicar.