Foros del Web » Administración de Sistemas » Apache »

duda regla modrewrite

Estas en el tema de duda regla modrewrite en el foro de Apache en Foros del Web. Hola buenas, estoy intentando dejar mi sitio (Servidor Aruba) con url amigables pero no consigo que funcione la regla del modrewrite. Quiero que direcciones del ...
  #1 (permalink)  
Antiguo 13/07/2009, 06:17
 
Fecha de Ingreso: abril-2004
Mensajes: 310
Antigüedad: 20 años
Puntos: 0
duda regla modrewrite

Hola buenas, estoy intentando dejar mi sitio (Servidor Aruba) con url amigables pero no consigo que funcione la regla del modrewrite.

Quiero que direcciones del tipo:
http://www.misitio.com/seccion/subseccion/nombre

se correspondan con:
http://www.misitio.com/principal.php...&nombre=nombre

Y le he dado mil vueltas a la condición pero no la consigo.
Lo último que he probado:
RewriteEngine on
RewriteRule /(.+)/(.+)/(.+) /principal.php?seccion=$1&subseccion=$2&nombre=$3

Graciass.
  #2 (permalink)  
Antiguo 13/07/2009, 08:17
Avatar de eupanor  
Fecha de Ingreso: marzo-2009
Mensajes: 7
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: duda regla modrewrite

yo lo tengo en un sitio con guiones y funciona muy bien, no sé si hacerlo con barras es buena idea.
En este ejemplo pagina_([0-9]+) es para el buscador
luego el index puede tener hasta tres parámetros index_([0-9]+)_([0-9]+)_([0-9]+) son para id_carrera, competición o tipo
Espero que te valga como ejemplo.


Options +FollowSymLinks
RewriteEngine on

RewriteRule ^pagina_([0-9]+)\.htm$ index.php?pageNum_Rs=$1 [L]
RewriteRule ^index\.htm$ index.php [T=application/x-httpd.php,L]
RewriteRule ^index_([0-9]+)\.htm$ index.php?pageNum_Rs=$1 [L]
RewriteRule ^index_([0-9]+)_([0-9]+)\.htm$ index.php?pageNum_Rs=$1&id_carrera=$2 [L]
RewriteRule ^index_([0-9]+)_([0-9]+)_([0-9]+)\.htm$ index.php?pageNum_Rs=$1&id_carrera=$2&id_competici on=$3 [L]
RewriteRule ^index_([0-9]+)_([0-9]+)_([0-9]+)_(.*)\.htm$ index.php?pageNum_Rs=$1&id_carrera=$2&id_competici on=$3&tipo=$4 [L]


#evitamos que se metan en noticias sin par�metro $id y redirigimos al index
RewriteRule ^noticia\.htm$ index.php [T=application/x-httpd.php,L]
RewriteRule ^noticia_([0-9]+)\.htm$ noticia.php?id_noticia=$1 [L]
  #3 (permalink)  
Antiguo 13/07/2009, 08:20
 
Fecha de Ingreso: diciembre-2008
Mensajes: 84
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: duda regla modrewrite

Creo que este es el problema

RewriteRule /(.+)/(.+)/(.+) /principal.php?seccion=$1&subseccion=$2&nombre=$3

Prueba asi

RewriteRule /(.+)/(.+)/(.+) $principal.php?seccion=$1&subseccion=$2&nombre=$3

Un saludo
  #4 (permalink)  
Antiguo 13/07/2009, 09:31
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: duda regla modrewrite

Tema trasladado desde PHP
  #5 (permalink)  
Antiguo 13/07/2009, 10:30
 
Fecha de Ingreso: abril-2004
Mensajes: 310
Antigüedad: 20 años
Puntos: 0
Respuesta: duda regla modrewrite

Eupanor, Gracias pero me da error 500, y prefiero empezar por algo más sencillo como lo que he propuesto.

Rafamadrile, no me funciona:

Para:
http://www.misitio.com/principal/subseccion/nombre/
ó
http://www.misitio.com/principal/subseccion/nombre

me da URL no encontrada.


Y los ejemplos de Aruba no me aclaran nada: http://vademecum.aruba.it/start/linux/rewrite.asp
  #6 (permalink)  
Antiguo 13/07/2009, 12:53
 
Fecha de Ingreso: abril-2004
Mensajes: 310
Antigüedad: 20 años
Puntos: 0
Respuesta: duda regla modrewrite

Bueno lo he conseguido aunque no como yo quería:

RewriteRule ^contenido/(.+)/(.+)/(.+)\.html principal.php?seccion=$1&subseccion=$2&titulo=$3

¿Cómo hago para que la URL no tenga que ser http://www.misitio.com/contenido/pri...on/nombre.html sino que sea simplemente http://www.misitio.com/principal/subseccion/nombre.html ??

Graciass.

Última edición por apañero; 13/07/2009 a las 13:09
  #7 (permalink)  
Antiguo 14/07/2009, 09:40
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: duda regla modrewrite

Debería funcionar con:
Código Apache:
Ver original
  1. RewriteRule ^(.+)/(.+)/(.+)\.html$ principal.php?seccion=$1&subseccion=$2&titulo=$3
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #8 (permalink)  
Antiguo 14/07/2009, 11:03
 
Fecha de Ingreso: abril-2004
Mensajes: 310
Antigüedad: 20 años
Puntos: 0
Respuesta: duda regla modrewrite

Pues no me funciona no me digas por qué. No le gusta que se aplique al root.

Pero bueno, tampoco es tan grave tener delante la patabra contenido... Actualmente tengo:
RewriteEngine on
RewriteRule ^contenido/(.+)/(.+)/(.+)\.html$ principal.php?seccion=$1&valor=$2&titulo=$3
RewriteRule ^contenido/(.+)/(.+)\.html$ principal.php?seccion=$1&valor=$2
RewriteRule ^contenido/(.+)\.html$ principal.php?seccion=$1

¿Haría falta algún otro tipo de condición por temas de seguridad?

Gracias de nuevo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:06.