Apache - Url amigables

   
Vista:
Imágen de perfil de Tomás

Url amigables

Publicado por Tomás (14 intervenciones) el 23/11/2013 17:23:35
Hola, muy buenas.

Tengo un archivo .htaccess en el principio dónde tengo la index de la web...

Y contiene esto:

1
2
3
4
5
6
7
8
9
<IfModule mod_rewrite.c>
# Activar RewriteEngine
RewriteEngine on
 
# Reescribir la URL solicitada por el usuario
#   Entrada:  localhost/me/NOMBRE/
#   Salida: ?page=NOMBRE
RewriteRule ^localhost/me/index.php\?page=(\w+)/?$ /$1 [QSA,NC,L]
</IfModule>

Y tengo una link que es asín:

1
localhost/me/index.php?hola=cosa

y quiero que salga asín:

1
localhost/me/cosa

Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Url amigables

Publicado por xve (236 intervenciones) el 24/11/2013 20:43:07
Hola Tomás, puedes probarlo así:

1
RewriteRule ^localhost/me/index.php\?hola=(.*)$ localhost/me/$1 [L,NC]

Puedes probarlo y comentarnos?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Tomás

Url amigables

Publicado por Tomás (14 intervenciones) el 27/11/2013 16:39:48
Que va,

aquí la carpeta:

1
http://prntscr.com/26zxjs

Aquí el error:

1
http://prntscr.com/26zxo4

Aquí el code:

1
2
3
4
5
6
7
8
9
<IfModule mod_rewrite.c>
# Activar RewriteEngine
RewriteEngine on
 
# Reescribir la URL solicitada por el usuario
#   Entrada:  localhost/me/NOMBRE/
#   Salida: ?page=NOMBRE
RewriteRule ^localhost/me/index.php\?hola=(.*)$ localhost/me/$1 [L,NC]
</IfModule>

¿Cuál puede ser el error?.

Saludos, gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Url amigables

Publicado por xve (236 intervenciones) el 27/11/2013 21:25:45
Hola Tomás, no te entiendo con lo que pones de la carpeta y del error¿? no entiendo que quieres decir...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Tomás

Url amigables

Publicado por Tomás (14 intervenciones) el 27/11/2013 22:00:11
Te muestro dónde tengo colocado el archivo .htaccess para ver si puede suponer un problema.

Ya que no me sirve.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Url amigables

Publicado por xve (236 intervenciones) el 28/11/2013 07:07:33
Hola Tomás, no vemos la imágen.... al seleccionar la imagen, luego tienes que pulsar sobre ella para que se añada al editor...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Tomás

Url amigables

Publicado por Tomás (14 intervenciones) el 28/11/2013 15:47:15
Archivos:



Error:

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Url amigables

Publicado por xve (236 intervenciones) el 29/11/2013 09:49:16
Hola Tomás, eso es porque no existe ese archivo, no?

Si con el mod rewrite lo redireccionas a un archivo que no existe, te aparecera ese error, no? Creo que te esta funcionando perfectamente!!!

tu has puesto una url del tipo: localhost/me/index.php?hola=3 ?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Tomás

Url amigables

Publicado por Tomás (14 intervenciones) el 01/12/2013 11:16:54
Sí,

Pero quiero que solo se combierta en: localhost/me/1

¿Me entiendes?
Un cordial saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Url amigables

Publicado por xve (236 intervenciones) el 01/12/2013 21:33:42
Si que te enteidno Tomás, pero si esa pagina no existe te dara error, no?

o lo que tu quieres, el al reves, que cuando pongan esta página en el navegador localhost/me/1 te vaya a localhost/me/index.php?hola=1?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Tomás

Url amigables

Publicado por Tomás (14 intervenciones) el 01/12/2013 22:40:05
Sí, exactamente eso es lo que deseo.

Que cuando yo vaya a esta dirección: localhost/me/1 me vaya a localhost/me/index.php?hola=1?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Url amigables

Publicado por xve (236 intervenciones) el 02/12/2013 07:18:35
Ok, Tomás, es que según tu código lo tenias puesto al revés...

Puedes probar así:
1
RewriteRule ^me/[0-9]$ /me/index.php\?hola=$1  [L,NC]

Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Tomás

Url amigables

Publicado por Tomás (14 intervenciones) el 02/12/2013 18:43:33
Ahora si me vale, dispongo de este código:

1
2
3
4
5
6
7
8
9
<IfModule mod_rewrite.c>
# Activar RewriteEngine
RewriteEngine on
 
# Reescribir la URL solicitada por el usuario
#   Entrada:  localhost/me/NOMBRE/
#   Salida: ?page=NOMBRE
RewriteRule ^me/[0-9]$ /me/?page=$1  [L,NC]
</IfModule>

Y tengo este código de page:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
$pg = ((isset($_GET['page']) && !empty($_GET['page'])) ? (int) $_GET['page'] : 1);
$cantidad = 5;
$inicio = ($pg-1) * $cantidad;
 
$registros = mysqli_query($conexion, "SELECT count(*) as Total FROM comentarios") or die(mysqli_error($conexion));
$regs = mysqli_fetch_assoc($registros);
 
$paginas = floor($regs['Total'] / $cantidad);
 
if ($pg <= ($paginas+1) && $pg > 0 && !((isset($_GET['page']) && $_GET['page'] == 0))) {
 
    $sacarcoment = mysqli_query($conexion, "SELECT * FROM comentarios ORDER BY id DESC LIMIT $inicio,$cantidad") or die(mysqli_error($conexion));
 
    while($coment = mysqli_fetch_assoc($sacarcoment)){
        echo "<div class='nombredelcoment'><a href='localhost/perfil/$coment[usuario]'>".htmlentities($coment['usuario'], null, 'ISO-8859-1')."</a></div><div class='fechadelcoment'>".$coment['fecha']."</div><br>&nbsp;&nbsp;".htmlentities($coment['comentario'], null, 'ISO-8859-1')."<div class='divisorcoment'></div>";
    }
 
    if($pg > 1) {
        $ant = $pg - 1;
        echo "<div class='yacentercontent'><a href=\"{$_SERVER["PHP_SELF"]}?page=1\">Primera</a></div>";
        echo "<div class='yacentercontent'> <a href=\"{$_SERVER["PHP_SELF"]}?page=$ant\">Anterior</a></div>";
    }
 
    if($pg <= $paginas) {
        $sig = $pg + 1;
        echo " <div class='yacentercontent'><a href=\"{$_SERVER["PHP_SELF"]}?page=$sig\">Siguiente</a></div>";
        $ult = $paginas + 1;
        echo " <div class='yacentercontent'><a href=\"{$_SERVER["PHP_SELF"]}?page=$ult\">Última</a></div> ";
    }
 
} else {
    echo 'La pagina solicitada no existe';
}

Y ahora entro a: localhost/me/2 me sale la web perfectamente, pero en vez de salir los comentarios sale: La página solicitada no existes.

Y si que existe.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Url amigables

Publicado por xve (236 intervenciones) el 02/12/2013 21:51:33
Hola Tomás, porque no especificas aquí: /me/?page=$1 la pagina index.php?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Tomás

Url amigables

Publicado por Tomás (14 intervenciones) el 02/12/2013 21:52:48
Sí si lo hice, pero me da el mismo resultado...

(Sólo que probé a quitarle el index.php y da lo mismo).
Pero da el mismo resultado lanza al else.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Url amigables

Publicado por xve (236 intervenciones) el 02/12/2013 22:15:48
Y si en tu navegador al escribes tal cual: http://localhost/me/index.php te funciona?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar