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

url amigable quitar index.php

Estas en el tema de url amigable quitar index.php en el foro de Apache en Foros del Web. Hola estoy usando el codigo de : http://www.maestrosdelweb.com/editorial/urlamigable/ Para la url amigables si bien funciona estoy buscando como quitar el index.php de forma completa, pero ...
  #1 (permalink)  
Antiguo 05/02/2010, 16:37
Avatar de javiertkd  
Fecha de Ingreso: agosto-2008
Ubicación: Mendoza
Mensajes: 129
Antigüedad: 15 años, 7 meses
Puntos: 1
url amigable quitar index.php

Hola estoy usando el codigo de : http://www.maestrosdelweb.com/editorial/urlamigable/

Para la url amigables si bien funciona estoy buscando como quitar el index.php de forma completa, pero no lo logro me tira error :(

EJ: www.pagina.com/index.php?producto=3
www.pagina.com/producto-3.html

Codigo:


Options +FollowSymLinks
RewriteEngine on
#1 variable
Rewriterule ^(.*)/(.*),(.*)/$ $1.php?$2=$3



//---------------------------//
<?php

//Iniciamos o continuamos la sesión encargada de evitar el bucle infinito

session_name("url_amigable");
session_start(); //Almacenamos datos del server, script y variables (pasadas por GET)
$Server=$_SERVER[´SERVER_NAME´];
$Script=$_SERVER[´PHP_SELF´];
$Variables=$_SERVER[´QUERY_STRING´]; //Verificando si tiene variables por GET

//y no se han pasado datos mediante un form por POST, ya que al redireccionar un post puede ocasionar errores.
//también verificamos que la variable de sesión ‘Listo’, sea diferente a 1, esto nos eviara un bucle infinito.

if(!empty($Variables) & $_SERVER[’REQUEST_METHOD’]==’GET’ && $_SESSION[’Listo’]!=1){

//Si tiene variables pasadas por GET se procede a hacer el cambio.
//1. Agrupando $Variables por “variable=valor” en el array $Variable.

$Variable=explode(”&”,$Variables);
//2. Sustituyendo “=” por “,” y concadenandolo en variable $Amigable.
($i=0; $i < count($Variable); $i++){
$Amigable.="/".str_replace("=",",",$Variable[$i]);
} //3. Quitando la extension “.php” a $Script para simular un directorio.

$Dir=str_replace(”.php”,”",$Script); //4. Generando la URL Amigable.
$URL_AMIGABLE=”http://”.$Server.$Dir.$Amigable.”/”;
//5. Colocando la variable de sesión ‘Listo’ a 1 para evitar el bucle infinito al redireccionar la web.

$_SESSION[’Listo’]=1;
//6. Redireccionando a la url amigable

header(”Location: $URL_AMIGABLE”);
//7. Exit hará que culmine hasta este punto el script, si no estuviera ‘exit’el script continuaría ejecutándose y llegaría hasta el final del mismo, es decir,
// a la parte donde colocamos a la variable de sesión ‘Listo’ en cero, originándose, entonces un bucle infinito.
exit;

}//Cambie $_URL_BASE por la ruta raiz de su web, ya que al simular la url amigable.
//directorios, hará que no muestre adecuadamente los orígenes de los recursos que llama su página web.

$_URL_BASE="http://”.$Server.”/pruebas/url_amigable/index.php";
?>
<html>
<head>
<title >URL Amigables</title>
<base href = "<? echo $_URL_BASE; ?>" target="_top" />
</head>
<body>
<!-- Aquí el contenido de su página web -->
</body>
</html>
<?php
//Limpia el posible bucle, es decir, se puede volver a hacer el envío.
$_SESSION[’Listo’]=0;
?>

:)....

Última edición por javiertkd; 06/02/2010 a las 09:00
  #2 (permalink)  
Antiguo 11/02/2010, 18:16
 
Fecha de Ingreso: febrero-2010
Mensajes: 56
Antigüedad: 14 años, 2 meses
Puntos: 1
Respuesta: url amigable quitar index.php

amm parece q usas mal la url pero la keres usar asi cambia esto en tu .httacces:

Cita:
Options +FollowSymLinks
RewriteEngine on
#1 variable
Rewriterule ^(.*)-(.*)/$ index.php?$1=$2
avizas q tal salio ;)

Última edición por ikeyman; 11/02/2010 a las 18:16 Razón: edit

Etiquetas: htaccess, mod_rewrite
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 06:29.