Foros del Web » Programando para Internet » PHP »

url amigable

Estas en el tema de url amigable en el foro de PHP en Foros del Web. hola buenas. no soy muy entendido en las url's amigables pero bueno me puse hoy y generé el siguiente código para el .htaccess Código: Options ...
  #1 (permalink)  
Antiguo 22/08/2010, 13:39
 
Fecha de Ingreso: diciembre-2009
Mensajes: 20
Antigüedad: 14 años, 4 meses
Puntos: 2
url amigable

hola buenas. no soy muy entendido en las url's amigables pero bueno me puse hoy y generé el siguiente código para el .htaccess

Código:
Options +FollowSymLinks
RewriteEngine on

Rewriterule (.*)/(.*) $1.php?id=$2
Y para el php que genera la url

Código PHP:
<?php
    session_name
("url_amigable");
    
session_start();
    
$Server=$_SERVER['SERVER_NAME'];
    
$Script=$_SERVER['PHP_SELF'];
    
$Variables=$_SERVER['QUERY_STRING'];

$vari explode("&",$Variables);
for(
$i=0;$i<count($vari);$i++){
    
$vari2 explode("=",$vari[$i]);
    for(
$j=0;$j<count($vari2);$j++){
        if((int)
$vari2[$j]){
            
$amigable "/".$vari2[$j];
        }
    }
}

$dir str_replace(".php","",$Script);
$url_amigable "http://".$Server.$dir.$amigable;
header("Location: $url_amigable");
$_URL_BASE="http://".$Server."/".$Script;

?>
Y dentro de la etiqueta <head> lo siguiente:

Código PHP:
<base href = "<? echo $_URL_BASE?>" target="_top" />
Y Firefox me responde con lo siguiente:
Firefox ha detectado que el servidor está redirigiendo la solicitud a esta dirección de una manera en la que nunca terminará.

No sé donde estoy creando el bucle infinito.

Mi idea es acer lo siguiente:

http://www.url.com/works/1/2

Muchas gracias de antemano.
  #2 (permalink)  
Antiguo 22/08/2010, 14:08
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: url amigable

el bucle lo creas con el header(), pues estas redireccionando siempre hacía el mismo lugar...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 22/08/2010, 16:02
 
Fecha de Ingreso: diciembre-2009
Mensajes: 20
Antigüedad: 14 años, 4 meses
Puntos: 2
Respuesta: url amigable

dios que ciego estoy jeje muchas gracias :p
  #4 (permalink)  
Antiguo 23/08/2010, 06:00
 
Fecha de Ingreso: diciembre-2009
Mensajes: 20
Antigüedad: 14 años, 4 meses
Puntos: 2
Respuesta: url amigable

Bueno, he conseguido que me redirija bien ya y va todo perfecto excepto:
no me coje las css, js, include, etc...:

Código PHP:
<?php
    session_name
("url_amigable");
    
session_start();
    
$Server=$_SERVER['SERVER_NAME'];
    
$Script=$_SERVER['PHP_SELF'];
    
$Variables=$_SERVER['QUERY_STRING'];

if(
$_SESSION['Listo']==0){
    
$vari explode("&",$Variables);
    for(
$i=0;$i<count($vari);$i++){
        
$vari2 explode("=",$vari[$i]);
        for(
$j=0;$j<count($vari2);$j++){
            if((int)
$vari2[$j]){
                
$amigable "/".$vari2[$j];
            }
        }
    }
    
    
$dir str_replace(".php","",$Script);
    
$url_amigable "http://".$Server.$dir.$amigable;
    
$_SESSION['Listo']=1;
    
header("Location: $url_amigable");
    exit;
}
    
$_URL_BASE="http://".$Server.$Script;
?>
Código PHP:
<base href="<?php echo $_URL_BASE;?>"  target="_top"/>
He estado leyendo y me da que es por el base href pero no doy con la solucion.

Con el .htaccess tambien tengo un problema y es que si no le paso ninguna variable por $_GET me salta a un 500 Internal Server Error:

Código:
Options +FollowSymLinks
RewriteEngine on

Rewriterule (.*) $1.php
Rewriterule (.*)/(.*) $1.php?id=$2
Muchas gracias de antemano.

Etiquetas: url, htaccess, amigables
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 10:55.