Ver Mensaje Individual
  #3 (permalink)  
Antiguo 26/04/2011, 14:43
eresvey
 
Fecha de Ingreso: febrero-2011
Ubicación: cali, valle del cauca
Mensajes: 158
Antigüedad: 13 años, 9 meses
Puntos: 8
Respuesta: Cambiar automaticamente mis urls!

Cita:
Iniciado por skiper0125 Ver Mensaje
Que tal eresvey.

podrias postear tu codigo el cual dices que genera las url ya que no sabemos el funcionamiento.

un consejo cuando pongas un link no coloques localhost, ya que no tenemos acceso a esa ubicacion mejor pon tu dominio o tu ip publica o ip fija
Código PHP:
Ver original
  1. <?php
  2. /***
  3. Archivo descargado de http://willy.tiperu.com/
  4. ***/
  5. //Iniciamos o continuamos la sesión encargada de evitar el bucle infinito
  6. session_name("url_amigable");
  7. //Almacenamos datos del server, script y variables (pasadas por GET)
  8. $Server=$_SERVER['SERVER_NAME'];
  9. $Script=$_SERVER['PHP_SELF'];
  10. $Variables=$_SERVER['QUERY_STRING'];
  11.  
  12. //Verificando si tiene variables por GET
  13. //y no se han pasado datos mediante un form por POST
  14. //ya q al redireccionar un  post puede ocasionar errores.
  15. //Tambien verificamos que la variable de sesión 'Listo'
  16. //sea diferente a 1, esto nos eviara un bucle infinito.
  17.  
  18. if(!empty($Variables) && $_SERVER['REQUEST_METHOD']=='GET' && $_SESSION['Listo']!=1){
  19.     //Si tiene variables pasadas por GET se procede a hacer el cambio.
  20.     //1. Agrupando $Variables por "variable=valor" en el array $Variable.
  21.     $Variable=explode("&",$Variables);
  22.     //2. Sustituyendo "=" por "," y concadenandolo en variable $Amigable.
  23.     for($i=0;$i<count($Variable);$i++){
  24.         $Amigable.="-".str_replace("=","_",$Variable[$i]);
  25.     }
  26.     //3. Quitando la extension ".php" a $Script para simular un directorio.
  27.     $Dir=str_replace(".php","",$Script);
  28.     //4. Generando la URL Amigable.
  29.     $URL_AMIGABLE="http://".$Server.$Dir.$Amigable.".html";
  30.     //5. Colocando la variable de sesión 'Listo' a 1 para evitar el bucle infinito
  31.     // al redireccionar la web.
  32.     $_SESSION['Listo']=1;
  33.     //6. Redireccionando a la url amigable
  34.     header("Location: $URL_AMIGABLE");
  35.     //7. Exit hará que culmine hasta este punto el script, si no estuviera 'exit'
  36.     // el script continuaría ejecutándose y llegaría hasta el final del mismo, es decir,
  37.     // a la parte donde colocamos a la variable de sesión 'Listo' en cero, originandose
  38.     // entonces un bucle infinito.
  39.     exit;
  40. }
  41. //Cambie $_URL_BASE por la ruta raiz de su web, ya que al simular la url amigable
  42. //directorios, hará que no muestre adecuadamente los origenes de los recursos que
  43. //llama su página web.
  44. $_URL_BASE="http://".$Server."/tuluacomercial/tienda/ver.php";
  45. ?>

Código Apache:
Ver original
  1. Options +FollowSymLinks
  2. RewriteEngine on
  3. #4 variables
  4. Rewriterule ^(.*)/(.*),(.*)/(.*),(.*)/(.*),(.*)/(.*),(.*)/$ $1.php?$2=$3&$4=$5&$6=$7&$8=$9
  5. #3 variables
  6. Rewriterule ^(.*)/(.*),(.*)/(.*),(.*)/(.*),(.*)/$ $1.php?$2=$3&$4=$5&$6=$7
  7. #2 variables
  8. Rewriterule ^(.*)-(.*)_(.*)-(.*)_(.*)$ $1.php?$2=$3&$4=$5
  9. #1 variable
  10. Rewriterule ^(.*)/(.*),(.*)/$ $1.php?$2=$3

es ese!