[OK] Eliminar el /index.php/ de las url amigables

Para hablar sobre optimización para buscadores de sitios Joomla!, así como de las extensiones relacionadas con SEF/SEO

Moderators: AlexVega, hefesto, carcam

Locked
btexploit
Joomla! Intern
Joomla! Intern
Posts: 60
Joined: Thu Sep 15, 2011 11:56 am

[OK] Eliminar el /index.php/ de las url amigables

Post by btexploit » Fri Jun 22, 2012 8:03 pm

Hola,

Tengo Joomla 1.7.4 y todas las opciones de SEO activadas, todo funciona bien, a excepción de un menú donde todos sus enlaces aparecen con el /index.php/ después del nombre de dominio, así 'midominio.com/index.php/noticias/noticia1' cuando para que funcione debe de aparecer así 'midominio.com/noticias/noticia1'

Este es el .htaccess:
##
# @package Joomla
# @copyright Copyright (C) 2005 - 2012 Open Source Matters. All rights reserved.
# @license GNU General Public License version 2 or later; see LICENSE.txt
##

##
# READ THIS COMPLETELY IF YOU CHOOSE TO USE THIS FILE!
#
# The line just below this section: 'Options +FollowSymLinks' may cause problems
# with some server configurations. It is required for use of mod_rewrite, but may already
# be set by your server administrator in a way that dissallows changing it in
# your .htaccess file. If using it causes your server to error out, comment it out (add # to
# beginning of line), reload your site in your browser and test your sef url's. If they work,
# it has been set by your server administrator and you do not need it set here.
##

## Can be commented out if causes errors, see notes above.
Options +FollowSymLinks

## Mod_rewrite in use.

RewriteEngine On

## Begin - Rewrite rules to block out some common exploits.
# If you experience problems on your site block out the operations listed below
# This attempts to block the most common type of exploit `attempts` to Joomla!
#
# Block out any script trying to base64_encode data within the URL.
RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
# Block out any script that includes a <script> tag in URL.
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
# Block out any script trying to set a PHP GLOBALS variable via URL.
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
# Block out any script trying to modify a _REQUEST variable via URL.
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
# Return 403 Forbidden header and show the content of the root homepage
RewriteRule .* index.php [F]
#
## End - Rewrite rules to block out some common exploits.

## Begin - Custom redirects
#
# If you need to redirect some pages, or set a canonical non-www to
# www redirect (or vice versa), place that code here. Ensure those
# redirects use the correct RewriteRule syntax and the [R=301,L] flags.

#
RewriteCond %{HTTP_HOST} ^www.dominio.es$ [NC]
RewriteRule ^(.*)$ http://dominio.es/$1 [R=301,L]
#
#Remove index.php from homepage (en una version non-www.)
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.(php|html) [NC]
RewriteRule ^index\.php$ http://dominio.es/ [R=301,L]
#
#
## End - Custom redirects

##
# Uncomment following line if your webserver's URL
# is not directly related to physical file paths.
# Update Your Joomla! Directory (just / for root).
##

RewriteBase /
## Begin - Joomla! core SEF Section.
#
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
#
# If the requested path and file is not /index.php and the request
# has not already been internally rewritten to the index.php script
RewriteCond %{REQUEST_URI} !^/index\.php
# and the request is for something within the component folder,
# or for the site root, or for an extensionless URL, or the
# requested URL ends with one of the listed extensions
RewriteCond %{REQUEST_URI} /component/|(/[^.]*|\.(php|html?|feed|pdf|vcf|raw))$ [NC]
# and the requested path and file doesn't directly match a physical file
RewriteCond %{REQUEST_FILENAME} !-f
# and the requested path and file doesn't directly match a physical folder
RewriteCond %{REQUEST_FILENAME} !-d
# internally rewrite the request to the index.php script
RewriteRule .* index.php [L]
#
## End - Joomla! core SEF Section.

Ya digo todo funciona, por ejemplo las url son todas amigables, y si accedemos al domino por http://www.midomino.com lo cambia a midominio.com , lo único que falla es eso de escapar el /index.php/.

¿Alguna idea de que pueda ser?

Saludos
Last edited by carcam on Sun Jul 01, 2012 6:52 am, edited 1 time in total.
Reason: Tema marcado como solucionado.

 
btexploit
Joomla! Intern
Joomla! Intern
Posts: 60
Joined: Thu Sep 15, 2011 11:56 am

Re: Eliminar el /index.php/ de las url amigables

Post by btexploit » Fri Jun 22, 2012 8:12 pm

Ya lo solucioné :), con un redireccionamiento 301

RedirectMatch 301 ^/index.php/(.*)$ http://midominio.com/$1

Saludos!

carcam
Joomla! Hero
Joomla! Hero
Posts: 2161
Joined: Sat Dec 29, 2007 1:53 am
Location: Spain
Contact:

Re: Eliminar el /index.php/ de las url amigables

Post by carcam » Sun Jul 01, 2012 6:50 am

Gracias por compartir la solución btexploit, en cualquier caso no debería ser necesario esa redirección ya que en principio el menú debería generar los enlaces sin el index.php. A no ser que sean enlaces que hayas puesto a pelo o que sea algún tema de caché que esté evitando que se genere correctamente cada enlace.

En cualquier caso tu versión de Joomla! está obsoleta y es altamente insegurar por lo que te recomiendo encarecidamente que actualices a la versión 2.5.6. Tratándose de la 1.7.4 no debería costarte más de un par de clicks.

Un saludo.
Miembro del equipo de eventos de Joomla: https://volunteers.joomla.org/teams/events-team
Hago desarrolo y soporte en http://www.jevents.net
Twitter: @carcam

btexploit
Joomla! Intern
Joomla! Intern
Posts: 60
Joined: Thu Sep 15, 2011 11:56 am

Re: [OK] Eliminar el /index.php/ de las url amigables

Post by btexploit » Sun Jul 01, 2012 3:58 pm

No funciona con clicks. Luego estoy buscando los archivos de 1.7.4 a 2.5.6 o 2.5.0 para hacerlo manualmente, pero no los encuentro. (si es que se puede hacer así aún).

Ya se lo había comentado al propietario pero como que no le importa mucho. Hasta que se lo .....

Lo del las url amigables y demás tema del seo funcionaban cuando entregué el sitio pero algo tocaron que a las semanas me estaban llamando que no se mostraban correctamente algunas páginas.

Gracias y saludos

User avatar
hefesto
Joomla! Hero
Joomla! Hero
Posts: 2578
Joined: Fri Jan 20, 2006 12:37 am
Location: Seville - Spain
Contact:

Re: [OK] Eliminar el /index.php/ de las url amigables

Post by hefesto » Mon Jul 02, 2012 3:50 pm

Hola btexploit

Sí que se puede hacer descargando los paquetes e instalándolos directamente desde el gestor de extensiones, como si se tratara de una extensión normal. Sin embargo, ten en cuenta que esos paquetes suelen andar por el orden de los 7-8 megas, por lo que el PHP del servidor debe permitir subir archivos de ese tamaño, y el tiempo máximo de ejecución debe ser lo suficientemente largo como para que se pueda completar la operación. De hecho, casi que miraría eso antes, no sea que sea eso lo que está impidiendo que actualices con un click. Revisa las variables upload_max_filesize, max_execution_time, post_max_size y memory_limit son lo suficientemente grandes como para permitir la operación.

La verdad es que no estoy seguro de cual es el paquete concreto para actualizar de la 1.7.4 a la 2.5.6, pero en cualquier caso puedes hacerlo en dos pasos, primero a la 2.5.0 y después a la 2.5.6. Usa estos archivos:

http://joomlacode.org/gf/project/joomla ... ge_id=6231
http://joomlacode.org/gf/project/joomla ... ge_id=6376

Por último, también tienes la opción de usar Admin Tools de Akeeba, que detecta la versión que tienes y te busca él solo el paquete necesario.

Por cierto, no olvides hacer una copia de seguridad antes ;).

Un saludo.
Spanish forum local moderator
Twitter: @isidrobaq
Comunidad Joomla de España: https://joomlaes.org
NO atiendo peticiones privadas de soporte. Por favor, pregunta en los foros.

btexploit
Joomla! Intern
Joomla! Intern
Posts: 60
Joined: Thu Sep 15, 2011 11:56 am

Re: [OK] Eliminar el /index.php/ de las url amigables

Post by btexploit » Tue Jul 03, 2012 9:38 pm

Gracias

Funcionó perfectamente con el Admin Tools.

Saludos!

 

Locked

Return to “SEO para Joomla!”