fallo en cambio de nombre con el mod rewrite

Imagen de jane_135
0 puntos

Tengo un cms de joomla que internamente (por php) le cambia las urls y las convierte a la forma de las barras

Lo que quiero es cambiar la url y ponerla con otra nomenclatura.

 

Mi duda es  que si el .htaccess es capaz de cambiar esto, teniendo ya urls con barras.

Si pongo esto en el .htaccess : 

RewriteRule ^index.php/[a-z]+/[a-z]*/[0-9]*/[0-9]*/?$

en referencia a :  http://localhost/joomla/index.php/content/view/13/47/

Cómo puedo hacer que me cambie por http://localhost/joomla/index.php/13 ????

Imagen de leptom
+1
0
-1

...creo que con un RewriteRule ^/joomla/index.php/([0-9]*)/([0-9]*)/?$ /joomla/index.php/content/view/$1/$2 [L,NC]

Los flags L y NC son para que sean la última regla y que no sea case sensitive.

De esta manera poniendo la url: http://localhost/joomla/index.php/13/47 te llevaría a http://localhost/joomla/index.php/content/view/13/47 pero sería transparente para el usuario.

+ Más info. 

----------------


TODO:Define title and signature [En estos momentos no funciona, pero volverá en breve]
+1
0
-1
Imagen de jane_135
+1
0
-1

me he confundido.

 

lo que quería decir es que cuando pinche un enlace como:

http://localhost/joomla/index.php/content/view/13/47/

me salga en la url del navegador esto:

http://localhost/joomla/index.php/contenido

(sacando ese contenido claro)

 

Y no sé porqué no me lo hace si le pongo esto: 

RewriteRule ^index.php/contenido$ index.php/content/view/13/47/ [L,NC] 

+1
0
-1
Imagen de leptom
+1
0
-1

RewriteRule ^index.php/contenido$ index.php/content/view/13/47/ [L,NC] 

 Con esto le estás diciendo que cuando se pida http://localhost/index.php/contenido pida al servidor http://localhost/index.php/content/view/13/47 que es justo lo contrario de lo que quieres. Lo que tu quieres sería entonces:

 RewriteBase / 

 RewriteRule  ^index.php/content/view/13/47/$ index.php/contenido

 

Prueba a ver si así hay suerte :) 

----------------


TODO:Define title and signature
+1
0
-1
Imagen de jane_135
+1
0
-1

no hay manera.

si pongo esto: 

RewriteBase / 

 RewriteRule  ^index.php/content/view/13/47/$ index.php/contenido

 me va a la carpeta raiz del servidor. Me funciona si pongo 

RewriteBase /joomla/ 

RewriteRule  ^index.php/content/view/13/47/$ index.php/contenido

que es donde tengo mi proyecto.

 

Pero me sigue sin mostrar index.php/contenido en la barra de direcciones del navegador...

 

Qué puedo estar haciendo mal?? 

 

 

+1
0
-1
Imagen de leptom
+1
0
-1

"Mañana" lo miro en el servidor y te lo digo con certeza que hasta ahora te lo estaba diciendo a ojo :)

Buenas noches

===== Editado

El "mañana"parece que se alarga. No he tenido tiempo de probar (trabajo y navidad me dejan sin tiempo), lo siento

En cuanto pueda lo pruebo. 

----------------


TODO:Define title and signature
+1
0
-1
Imagen de Valc
+1
0
-1

Buenas 

Si estás usando Joomla! y ya has habilitado la pestaña SEO y los títulos dinámicos desde la configuración global, lo que podrías hacer para tener URLs más amigables es instalarte la extensión de "Artio JoomSEF" mismo.. siguiendo las instucciones de instalación de ese componente.

Con SEO y los títulos dinámicos de Joomla! habilitados desde la configuración global, solo te quedaría  renombrar el htaccess.txt que trae Joomla! dentro de sus archivos a .htaccess

En el interior de ese .htaccess hay dos bloques que hacen referencia a las URLs amigables, uno para cuando usas SEO de Joomla! y otro para cuando usas extensiones de terceros, como por ejemplo, Artio JoomSEF. Si instalas artio, debes comentar o borrar del .htaccess todas las lineas del bloque "SEO de Joomla!" y descomentar todas las líneas ejecutables del bloque de "SEO para extensiones de terceros".

Espero te pueda servir, saludos 

Mi Web: --- Servidores Caseros sobre Ubuntu---

+1
0
-1

Mi Web: --- Servidores Caseros sobre Ubuntu---