Foros del Web » Programando para Internet » PHP »

Vínculos amistosos htaccsess

Estas en el tema de Vínculos amistosos htaccsess en el foro de PHP en Foros del Web. Hola, llevo un rato buscando y no encuentro la respuesta a mi problema en anteriores hilos, si alguien me puede ayudar.... ocurre que estoy configurando ...
  #1 (permalink)  
Antiguo 29/01/2009, 18:12
 
Fecha de Ingreso: enero-2009
Mensajes: 165
Antigüedad: 15 años, 3 meses
Puntos: 1
Vínculos amistosos htaccsess

Hola, llevo un rato buscando y no encuentro la respuesta a mi problema en anteriores hilos, si alguien me puede ayudar....
ocurre que estoy configurando un htaccsess para un sitio de la siguiente manera:
Cita:
Options FollowSymLinks
RewriteEngine On
RewriteRule ^index-([^/-]+)-([^/-]+)\.html$ index.php?zona=$1&rubro=$2& [L,NC]
Funciona perfecto cuando pido por ejemplo:
index-capital-alimentacion.html
pero se puede dar el caso donde no tenga aún la variable de la zona o del rubro...
es decir que tenga solo una de las dos variables.
index-alimentacion.html
Como debo llamar al archivo? porque aui no me funciona, alguien sabe como debo hacer para dejar vacía la variable y qué funcione?
Muchas Gracias
  #2 (permalink)  
Antiguo 29/01/2009, 18:23
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Vínculos amistosos htaccsess

Necesitarias hacer realmente amigables tus enlaces, por ejemplo:

sitio.com/capital-z/alimentacion-r/
sitio.com/capital-z/
sitio.com/alimentacion-r/

De esta manera, separas y analizas cada elemento con:
Código PHP:
$partes explode('/'$_SERVER['REQUEST_URI']);
for(
$i 1$i count($partes); $i++) {
   
// Aqui analizas cada una de las partes de la URL
   // Y las asignas a las variables correspondientes

Logicamente, tendrias que modificar tambien tu .htaccess
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 29/01/2009, 18:54
Avatar de cdesseno  
Fecha de Ingreso: mayo-2007
Ubicación: Buenos Aires
Mensajes: 111
Antigüedad: 16 años, 11 meses
Puntos: 1
Respuesta: Vínculos amistosos htaccsess

Probá con:
Cita:
Options FollowSymLinks
RewriteEngine On
RewriteRule ^index-([^/-]+)-([^/-]+)\.html$ index.php?zona=$1&rubro=$2& [L,NC]
RewriteRule ^index-([^/-]+)\.html$ index.php?zona=$1 [L,NC]
  #4 (permalink)  
Antiguo 29/01/2009, 18:58
 
Fecha de Ingreso: enero-2009
Mensajes: 165
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: Vínculos amistosos htaccsess

Gracias Triby, una consulta:
lo que me sugieres que haga sería algo asi como esto?
Código PHP:
$partes explode('-'$_SERVER['REQUEST_URL']);  
for(
$i 1$i count($partes); $i++) {  
   
// Aqui analizas cada una de las partes de la URL
   // Y las asignas a las variables correspondientes
 
}  
$primera explode('-'$partes[0]); // he cambiado la / por el -
   // Aqui analizas cada una de las partes de la URL
   // Y las asignas a las variables correspondientes
($primera[1]== 'z')? $zona=$primera[0]: $rubro=$primera[0]
}  
$segunda explode('-'$partes[1]);
 
(
$segunda[1]== 'r')? $rubro=$segunda[0];

Es un poco rebuscado, no? mañana te cuento como me fue
porque hoy ya no doy mas de mi...
Gracias
  #5 (permalink)  
Antiguo 29/01/2009, 19:02
 
Fecha de Ingreso: enero-2009
Mensajes: 165
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: Vínculos amistosos htaccsess

Gracias Cdesseno, eso funcionó !!! ahora tengo que ver que pasa si en vez de la zona lo que tengo es el rubro...
Pero esto ya mañana porque no dejo de hacer cagadas del cansancio
Gracias gente!!
  #6 (permalink)  
Antiguo 29/01/2009, 19:10
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Vínculos amistosos htaccsess

Seria dentro del for:
Código PHP:
$partes explode('/'$_SERVER['REQUEST_URI']);
$zona $rubro '';
for(
$i 1$i count($partes); $i++) {
    if(
$partes[$i] == '')
        continue; 
//
    
$busca explode('-'$partes[$i]);
    if(isset(
$busca[1])) {
         if(
$busca[1] == 'z')
             
$zona $busca[0];
         else if(
$busca[1] == 'r')
             
$rubro $busca[0];
    }

__________________
- León, Guanajuato
- GV-Foto
  #7 (permalink)  
Antiguo 29/01/2009, 20:47
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Vínculos amistosos htaccsess

Tema trasladado a PHP.
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 01:15.