Hola,
LLevo 4 días completos peleándome con este problema y lo cierto es que ya estoy desesperao. He buscado y probado todo lo habido y por haber y de donde estoy atascado no encuentro la manera de salir.
Por el título del hilo lo que quiero hacer es que en vez de ver las urls así:
http://dominio.com/web/index.php/pagina.html
se vean así:
http://dominio.com/pagina.html
El caso es que he conseguido que esto se produzca y me cargue la página inicial de joomla. El problema viene cuando quiero acceder a cualquier enlace, directamente recibo un error 404 de página no encontrada.
Estoy haciendo las pruebas con un joomla 1.5.2 por si sirve de algo.
Os voy a poner el código que estoy utilizando para que me digáis que me falta o en que línea la estoy cagando, porque este código lo he visto en mil sitios y la gente dice que le funciona.
Options +FollowSymLinks
RewriteEngine On
########## REGLAS DE BLOQUEO
# Block out any script trying to set a mosConfig value through the URL
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
# 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 <s-cript> 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
########## REDIRECCION 301
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,NC,L]
########## End
RewriteBase /
########## Begin - Joomla! core SEF Section
RewriteRule ^$ /web/ [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(/component/option,com) [NC,OR] ##optional - see notes##
RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/[^.]*)$ [NC]
RewriteRule ^(content/|component/) index.php
RewriteCond %{REQUEST_URI} !^/web(/.*)?$
RewriteRule .* /web%{REQUEST_URI} [QSA,L]
########## End
También he probado con:
RewriteBase /web
Lo suelen recomendar en estos casos y no funciona.
En el configuration.php tengo:
var $live_site = 'http://miDominio.com';
Si desactivo el SEF de Joomla y mantengo el mod_rewrite activado funciona bien la web. El problema está centrado en el SEF.
Echadme una mano si podéis porque 4 días de trabajo en esta porquería es mucho tiempo y tal y como están las economías no se puede perder esta burrada de tiempo.
Gracias.