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

Ayuda con reglas para .htaccess

Estas en el tema de Ayuda con reglas para .htaccess en el foro de Apache en Foros del Web. Hola, estoy hace unos minutos tratando de crear unas reglas para mi .htaccess pero no lo logre y quiero tratar de sacarlo lo mas rápido ...
  #1 (permalink)  
Antiguo 02/12/2008, 13:54
Avatar de chitoso  
Fecha de Ingreso: mayo-2008
Ubicación: Montevideo, Uruguay
Mensajes: 205
Antigüedad: 16 años, 6 meses
Puntos: 5
Ayuda con reglas para .htaccess

Hola, estoy hace unos minutos tratando de crear unas reglas para mi .htaccess pero no lo logre y quiero tratar de sacarlo lo mas rápido posible, porque no tengo tiempo de ahondar mucho en RegExp por el momento...

Tengo una url asi
http://www.sitio.com/mostrar_articulo.php?id=45

Y quiero algo así: http://www.sitio.com/articulos/45/xxx

Donde 'xxx' es el nombre del artículo, que yo le voy a asignar mediante PHP.

Es decir, quiero una regla que tome http://www.sitio.com/articulos/45/xxx.html e ignore el nombre ('xxx.html'), solo debe tener en cuenta el 45, que es el id.

gracias por su ayuda.
__________________
Pasión por la Música
  #2 (permalink)  
Antiguo 03/12/2008, 14:51
Avatar de ferny
Il capo della mafia
 
Fecha de Ingreso: febrero-2002
Ubicación: Al final del cable
Mensajes: 10.080
Antigüedad: 22 años, 8 meses
Puntos: 55
Respuesta: Ayuda con reglas para .htaccess

Debería ser algo como:

RewriteEngine on
RewriteRule ^articulos/([^/]*)/(.*)$ /mostrar_articulo.php?id=$1 [L]
__________________
www.mundodivx.com || www.mundodivx.org

Pon tu mano en un horno caliente durante un minuto y te parecerá una hora.
Siéntate junto a una chica preciosa durante una hora y te parecerá un minuto.
Eso es la relatividad.
  #3 (permalink)  
Antiguo 04/12/2008, 06:45
Avatar de chitoso  
Fecha de Ingreso: mayo-2008
Ubicación: Montevideo, Uruguay
Mensajes: 205
Antigüedad: 16 años, 6 meses
Puntos: 5
Respuesta: Ayuda con reglas para .htaccess

Gracias ferny. Por el momento no me resultó.

Estoy probando en mi proyecto, localmente, con la siguiente estructura.

localhost/testApp/
mostrar_articulo.php
.htaccess

Y como url pongo http://localhost/testApp/articulos/1/mi-articulo.html

Pero no me está redireccionando ok. Intenté poniendo 'testApp' en el htaccess pero nada.
__________________
Pasión por la Música
  #4 (permalink)  
Antiguo 04/12/2008, 13:12
Avatar de ferny
Il capo della mafia
 
Fecha de Ingreso: febrero-2002
Ubicación: Al final del cable
Mensajes: 10.080
Antigüedad: 22 años, 8 meses
Puntos: 55
Respuesta: Ayuda con reglas para .htaccess

Claro porque entonces la ruta no es la que dijiste, sería:

RewriteEngine on
RewriteRule ^testApp/articulos/([^/]*)/(.*)$ /testApp/mostrar_articulo.php?id=$1 [L]

Fíjate que hay que ponerle todo lo que vaya después del nombre de dominio (localhost en este ejemplo).
__________________
www.mundodivx.com || www.mundodivx.org

Pon tu mano en un horno caliente durante un minuto y te parecerá una hora.
Siéntate junto a una chica preciosa durante una hora y te parecerá un minuto.
Eso es la relatividad.
  #5 (permalink)  
Antiguo 05/02/2009, 11:24
Avatar de chitoso  
Fecha de Ingreso: mayo-2008
Ubicación: Montevideo, Uruguay
Mensajes: 205
Antigüedad: 16 años, 6 meses
Puntos: 5
Respuesta: Ayuda con reglas para .htaccess

Bueno, revivo el tema, porque recién ahora retomo el proyecto.

A ver si me ayudan a descubrir qué hago mal...

Tengo mi htaccess completo:
Código:
RewriteEngine on
RewriteRule ^app/articulos/([^/]*)/(.*)$ /app/mostrar_articulo.php?id=$1 [L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
y luego en la carpeta app, mi mostrar_articulo.php es el siguiente:

Código PHP:
<?

if(isset($_GET['id'])){
    echo 
"Usando Mod_rewrite!";

}
else{
    echo 
"Error...";
    
    }
Me sale un "Objeto no encontrado"....
__________________
Pasión por la Música
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 09:20.