Author Topic: Duda sobre mod Short URLs  (Read 9577 times)

0 Members and 1 Guest are viewing this topic.

Offline alvaro0022

  • Full Member
  • ***
  • Posts: 132
  • nada es imposible
    • View Profile
    • Wallpapers
Duda sobre mod Short URLs
« on: October 04, 2007, 04:00:33 PM »
Hola a todos
Queria saber si es posible hacer lo siguiente:
Al instalar el mod (http://www.4homepages.de/forum/index.php?topic=6729.msg29453#msg29453)
las direcciones se acortan quedando de esta mander:

http://www.migaleria.com/cat12.htm

Mi pregunta es si se puede cambiar car12.htm por el nombre de la categoria. Por ejemplo quedaria asi:

http://www.migaleria.com/paisajes.htm

Tambien queria saber si se puede hacer esto mismo pero con las imagenes. que seria:

http://www.migaleria.com/img53.html

Cambiarlo a el nobre de la imagen, ejemplo:

http://www.migaleria.com/montañas_y_lago.htm

He buscado y leido pero no logro encontrar la manera de hacerlo y el topic en donde se encuentra el mod esta en ingles y por mas que lo traduscu no logro entender mucho.
Si alguien me podria ayudar, estaria muy agradecido.

Desde ya muchas gracias y saludos!!
« Last Edit: October 19, 2007, 11:53:42 PM by alvaro0022 »

Offline alvaro0022

  • Full Member
  • ***
  • Posts: 132
  • nada es imposible
    • View Profile
    • Wallpapers
Re: Duda sobre mod Short URLs
« Reply #1 on: October 08, 2007, 02:58:21 PM »
Hola a todos

Encontre lo que queria!!!

Es el ultimo topic en http://www.4homepages.de/forum/index.php?topic=6729.180

Pero no logro hacerlo funcionar en mi sitio. Alguien que me ayude por favor? :oops:

Gracias y Saludos!!

Offline alvaro0022

  • Full Member
  • ***
  • Posts: 132
  • nada es imposible
    • View Profile
    • Wallpapers
Re: Duda sobre mod Short URLs
« Reply #2 on: October 18, 2007, 04:41:49 PM »
Hola a todos encontre la solucion!!!

aqui se las dejo traducida por si alguien la quiere usar

Hbrir el .htaccess y agregar estas lineas
Code: [Select]
RewriteEngine On

#RewriteBase /
RewriteRule ^cat-(.*)-([0-9]+).htm categories.php?cat_id=$2&%{QUERY_STRING}
#Mod_bmollet : Image name in URL
RewriteRule ^img-(.*)-([0-9]+).htm details.php?image_id=$2&%{QUERY_STRING}

RewriteRule ^img([0-9]+)\.search.htm$ details.php?image_id=$1&%{QUERY_STRING}

RewriteRule ^cat\.htm$ categories.php?%{QUERY_STRING}

#Mod_bmollet : This is to make search function work  ( redirect links from search results )
RewriteRule ^search\.htm$ search.php?%{QUERY_STRING}
RewriteRule ^search\.([0-9]+)\.htm$ search.php?page=$1&%{QUERY_STRING}

Abrir /include/sessions.php antes de laultima linea (?>) añade el siguiente codigo
Code: [Select]
//Mod_bmollet
/**
 * Get the category url
 * @param int $cat_id The id of the category
 * @param string $cat_url The current status of the URL
 */
function get_category_url($cat_id,$cat_url = '')
{
global $site_db;
$sql = "SELECT cat_name,cat_parent_id FROM ".CATEGORIES_TABLE." WHERE cat_id = '".$cat_id."'";
$result = $site_db->query($sql);
$row = $site_db->fetch_array($result);
$row['cat_name'] = strtr($row['cat_name'], "éèêàëâúóíáABCDEFGHIJKLMNOPQRSTUVWXYZ","eeeaeauoiaabcdefghijklmnopqrstuvwxyz");
$cat_url  = '-'.str_replace('+','-',urlencode($row['cat_name'])).'-'.$cat_id.$cat_url;
// if you want full path of category in url, put next line in comment
return $cat_url;
if( $row['cat_parent_id'] != 0)
{
return get_category_url($row['cat_parent_id'],$cat_url);
}
else
{
return $cat_url;
}
}
//Mod_bmollet
/**
 * Get the image url
 * @param int $image_id The id of the image
 */
function get_image_url($image_id)
{
global $site_db;
$sql = "SELECT cat_id,image_name FROM ".IMAGES_TABLE." WHERE image_id = '".$image_id."'";
$result = $site_db->query($sql);
$row = $site_db->fetch_array($result);
$row['image_name'] = strtr($row['image_name'], "éèêàëâúóíáABCDEFGHIJKLMNOPQRSTUVWXYZ","eeeaeauoiaabcdefghijklmnopqrstuvwxyz");
// if you want comlpete path to image in url, remove comment from following line
//return get_category_url($row['cat_id']).'-'.str_replace('+','-',urlencode($row['image_name'])).'-'.$image_id;
return '-'.str_replace('+','-',urlencode($row['image_name'])).'-'.$image_id;
}

Abrir /include/sessions.php y busca el siguiente codigo
Code: [Select]
function url($url, $amp = "&") {
    global $l;
    $dummy_array = explode("#", $url);
    $url = $dummy_array[0];

    if ($this->mode == "get" && !preg_match("/".SESSION_NAME."=/i", $url)) {
      $url .= preg_match("/\?/", $url) ? "$amp" : "?";
      $url .= SESSION_NAME."=".$this->session_id;
    }

    if (!empty($l)) {
      $url .= preg_match("/\?/", $url) ? "$amp" : "?";
      $url .= "l=".$l;
    }

    $url .= (isset($dummy_array[1])) ? "#".$dummy_array[1] : "";
    return $url;
  }

Y reemplazarlo con este
Code: [Select]
/ * ORIGINAL CÓDIGO
  function url($url, $amp = "&") { Función de URL (URL dólares, amplificador $ = "y") (
    global $l; Mundial dólares por litro,
    $dummy_array = explode("#", $url); $ Dummy_array explotar ("#", = $ URL);
    $url = $dummy_array[0]; URL = $ $ dummy_array [0];

    if ($this->mode == "get" && !preg_match("/".SESSION_NAME."=/i", $url)) { If ($ this-> modo == "conseguir" & &! Preg_match ("/". SESSION_NAME. "= / I», $ URL)) (
      $url .= preg_match("/\?/", $url) ? URL .= $ preg_match ( "/ \? / ", $ URL)? "$amp" : "?"; "$ Amplificador": "?" ;
      $url .= SESSION_NAME."=".$this->session_id; URL .= $ SESSION_NAME ."=".$ this-> session_id;
    } )

    if (!empty($l)) { Si (! Vacío ($ apartado l)) (
      $url .= preg_match("/\?/", $url) ? URL .= $ preg_match ( "/ \? / ", $ URL)? "$amp" : "?"; "$ Amplificador": "?" ;
      $url .= "l=".$l; URL .= $ »l =". $ L,
    } )

    $url .= (isset($dummy_array[1])) ? $ .= URL (sset ($ dummy_array [1]))? "#".$dummy_array[1] : ""; "#".$ Dummy_array [1]: "";
    return $url; URL regreso dólares;
  } )
*/ * /
  function url($url, $amp = "&") { Función de URL (URL dólares, amplificador $ = "y") (
    global $l, $user_info; Globales $ l $ user_info;
    $dummy_array = explode("#", $url); $ Dummy_array explotar ("#", = $ URL);
    $url = $dummy_array[0]; URL = $ $ dummy_array [0];
    $url = str_replace('&', '&', $url); $ Url = en que str_replace ('&', '&', $ URL);
    if (!defined('IN_CP')) { Si (! Define ( 'IN_CP')) (
      if (strstr($url, 'index.php')) { Si (strstr ($ URL, de 'index.php')) (
        $url = str_replace('index.php', '', $url); $ Url = en que str_replace (de 'index.php','', $ URL);
      } )
      elseif (strstr($url, 'search.php')) { Sentencia elseif (strstr ($ URL, 'search.php')) (
        if (strstr($url, 'page=')) { Si (strstr ($ URL, la página '=')) (
          preg_match('#page=([0-9]+)&?#', $url, $matches); Preg_match ( '# pagina = ([0-9 ]+)&?#', URL $, $ coincidencias);
          if (isset($matches[1])) { Si (sset ($ coincidencias [1])) (
            $split = explode('?', $url); $ División explotar ('?', = $ URL);
            $url = $split[0]; URL = $ $ dividido [0];
            $query = @$split[1]; $ Consulta = @ $ división [1];
            $url   = str_replace('search.php', 'search.'.$matches[1].'.htm', $url); $ Url = en que str_replace ( 'search.php', 'búsqueda. '. $ Coincidencias [1]. '. Htm Creación ', $ URL);
            $query = str_replace('page='.$matches[1].'&', '', $query); $ Consulta = que str_replace ( 'página ='. $ Coincidencias [1 ].'&','', $ consulta);
            $query = str_replace('&page='.$matches[1], '', $query); $ Consulta = que str_replace ( '& pagina ='. $ Coincidencias [1],'', $ consulta);
            $query = str_replace('page='.$matches[1], '', $query); $ Consulta = que str_replace ( 'página ='. $ Coincidencias [1],'', $ consulta);
            if (!empty($query)) { Si (! Vacío ($ consulta)) (
              $url .= '?' . $ URL .= '? '. $query; $ Consulta;
            } )
          } )
        } )
        else { Otro (
          $url = str_replace('search.php', 'search.htm', $url); $ Url = en que str_replace ( 'search.php', 'search.htm', $ URL);
        } )
      } )
      elseif (strstr($url, 'lightbox.php')) { Sentencia elseif (strstr ($ URL, 'lightbox.php')) (
        if (strstr($url, 'page=')) { Si (strstr ($ URL, la página '=')) (
          preg_match('#page=([0-9]+)&?#', $url, $matches); Preg_match ( '# pagina = ([0-9 ]+)&?#', URL $, $ coincidencias);
          if (isset($matches[1])) { Si (sset ($ coincidencias [1])) (
            $split = explode('?', $url); $ División explotar ('?', = $ URL);
            $url = $split[0]; URL = $ $ dividido [0];
            $query = @$split[1]; $ Consulta = @ $ división [1];
            $url   = str_replace('lightbox.php', 'lightbox.'.$matches[1].'.htm', $url); $ Url = en que str_replace ( 'lightbox.php', 'caja luminosa. '. $ Coincidencias [1]. '. Htm Creación ', $ URL);
            $query = str_replace('page='.$matches[1].'&', '', $query); $ Consulta = que str_replace ( 'página ='. $ Coincidencias [1 ].'&','', $ consulta);
            $query = str_replace('&page='.$matches[1], '', $query); $ Consulta = que str_replace ( '& pagina ='. $ Coincidencias [1],'', $ consulta);
            $query = str_replace('page='.$matches[1], '', $query); $ Consulta = que str_replace ( 'página ='. $ Coincidencias [1],'', $ consulta);
            if (!empty($query)) { Si (! Vacío ($ consulta)) (
                $url .= '?' . $ URL .= '? '. $query; $ Consulta;
            } )
          } )
        } )
        else { Otro (
          $url = str_replace('lightbox.php', 'lightbox.htm', $url); $ Url = en que str_replace ( 'lightbox.php', 'lightbox.htm', $ URL);
        } )
      } )
      elseif (strstr($url, 'categories.php')) { Sentencia elseif (strstr ($ URL, 'categories.php')) (
        if (strstr($url, 'cat_id=') && strstr($url, 'page=')) { Si (strstr ($ URL, 'cat_id =') & & strstr ($ URL, la página '=')) (
          preg_match('#cat_id=([0-9]+)&?#', $url, $matches1); Preg_match ( '# cat_id = ([0-9 ]+)&?#', URL $, $ matches1);
          preg_match('#page=([0-9]+)&?#', $url, $matches2); Preg_match ( '# pagina = ([0-9 ]+)&?#', URL $, $ matches2);
          if (isset($matches1[1]) && isset($matches2[1])) { Si (sset ($ matches1 [1]) & & sset ($ matches2 [1])) (
            $split = explode('?', $url); $ División explotar ('?', = $ URL);
            $url = $split[0]; URL = $ $ dividido [0];
            $query = @$split[1]; $ Consulta = @ $ división [1];
            $url   = str_replace('categories.php', 'cat'.$matches1[1].'.'.$matches2[1].'.htm', $url); $ Url = en que str_replace ( 'categories.php', 'gato'. $ Matches1 [1 ].'.'.$ matches2 [1]. '. Htm Creación ', $ URL);
            $query = str_replace('cat_id='.$matches1[1].'&', '', $query); $ Consulta = que str_replace ( 'cat_id ='. $ Matches1 [1 ].'&','', $ consulta);
            $query = str_replace('&cat_id='.$matches1[1], '', $query); $ Consulta = que str_replace ( '& cat_id ='. $ Matches1 [1],'', $ consulta);
            $query = str_replace('cat_id='.$matches1[1], '', $query); $ Consulta = que str_replace ( 'cat_id ='. $ Matches1 [1],'', $ consulta);
            $query = str_replace('page='.$matches2[1].'&', '', $query); $ Consulta = que str_replace ( 'página ='. $ Matches2 [1 ].'&','', $ consulta);
            $query = str_replace('&page='.$matches2[1], '', $query); $ Consulta = que str_replace ( '& pagina ='. $ Matches2 [1],'', $ consulta);
            $query = str_replace('page='.$matches2[1], '', $query); $ Consulta = que str_replace ( 'página ='. $ Matches2 [1],'', $ consulta);
            if (!empty($query)) { Si (! Vacío ($ consulta)) (
              $url .= '?' . $ URL .= '? '. $query; $ Consulta;
            } )
          } )
        } )
        elseif (strstr($url, 'cat_id=')) { Sentencia elseif (strstr ($ URL, 'cat_id =')) (
          preg_match('#cat_id=([0-9]+)&?#', $url, $matches); Preg_match ( '# cat_id = ([0-9 ]+)&?#', URL $, $ coincidencias);
          if (isset($matches[1])) { Si (sset ($ coincidencias [1])) (
            $split = explode('?', $url); $ División explotar ('?', = $ URL);
            $url = $split[0]; URL = $ $ dividido [0];
            $query = @$split[1]; $ Consulta = @ $ división [1];
            $cat_url = get_category_url($matches[1]); $ Cat_url get_category_url = ($ coincidencias [1]);
            $url   = str_replace('categories.php', 'cat'.$cat_url.'.htm', $url); $ Url = en que str_replace ( 'categories.php', 'gato'. $ Cat_url. '. Htm Creación ', $ URL);
            $query = str_replace('cat_id='.$matches[1].'&', '', $query); $ Consulta = que str_replace ( 'cat_id ='. $ Coincidencias [1 ].'&','', $ consulta);
            $query = str_replace('&cat_id='.$matches[1], '', $query); $ Consulta = que str_replace ( '& cat_id ='. $ Coincidencias [1],'', $ consulta);
            $query = str_replace('cat_id='.$matches[1], '', $query); $ Consulta = que str_replace ( 'cat_id ='. $ Coincidencias [1],'', $ consulta);
            if (!empty($query)) { Si (! Vacío ($ consulta)) (
              $url .= '?' . $ URL .= '? '. $query; $ Consulta;
            } )
          } )
        } )
        else { Otro (
          $url = str_replace('categories.php', 'cat.htm', $url); $ Url = en que str_replace ( 'categories.php', 'cat.htm', $ URL);
        } )
      } )
      elseif (strstr($url, 'details.php?image_id=')) { Sentencia elseif (strstr ($ URL, 'details.php? Image_id = ')) (
        if (strstr($url, 'image_id=') && strstr($url, 'mode=')) { Si (strstr ($ URL, 'image_id =') & & strstr ($ URL, de modo = ')) (
          preg_match('#image_id=([0-9]+)&?#', $url, $matches1); Preg_match ( '# image_id = ([0-9 ]+)&?#', URL $, $ matches1);
          preg_match('#mode=([a-zA-Z0-9]+)&?#', $url, $matches2); Preg_match ( '# modo = ([a zA Z0 - 9 - ]+)&?#', URL $, $ matches2);
          if (isset($matches1[1]) && isset($matches2[1])) { Si (sset ($ matches1 [1]) & & sset ($ matches2 [1])) (
            $split = explode('?', $url); $ División explotar ('?', = $ URL);
            $url = $split[0]; URL = $ $ dividido [0];
            $query = @$split[1]; $ Consulta = @ $ división [1];
            $url   = str_replace('details.php', 'img'.$matches1[1].'.'.$matches2[1].'.htm', $url); $ Url = en que str_replace ( 'details.php', 'img'. $ Matches1 [1 ].'.'.$ matches2 [1]. '. Htm Creación ', $ URL);
            $query = str_replace('image_id='.$matches1[1].'&', '', $query); $ Consulta = que str_replace ( 'image_id ='. $ Matches1 [1 ].'&','', $ consulta);
            $query = str_replace('&image_id='.$matches1[1], '', $query); $ Consulta = que str_replace ( '& image_id ='. $ Matches1 [1],'', $ consulta);
            $query = str_replace('image_id='.$matches1[1], '', $query); $ Consulta = que str_replace ( 'image_id ='. $ Matches1 [1],'', $ consulta);
            $query = str_replace('mode='.$matches2[1].'&', '', $query); $ Consulta = que str_replace ( "modo = '. $ Matches2 [1 ].'&','', $ consulta);
            $query = str_replace('&mode='.$matches2[1], '', $query); $ Consulta = que str_replace ( '& modo ='. $ Matches2 [1],'', $ consulta);
            $query = str_replace('mode='.$matches2[1], '', $query); $ Consulta = que str_replace ( "modo = '. $ Matches2 [1],'', $ consulta);
            if (!empty($query)) { Si (! Vacío ($ consulta)) (
              $url .= '?' . $ URL .= '? '. $query; $ Consulta;
            } )
          } )
        } )
        else { Otro (
          preg_match('#image_id=([0-9]+)&?#', $url, $matches); Preg_match ( '# image_id = ([0-9 ]+)&?#', URL $, $ coincidencias);
          if (isset($matches[1])) { Si (sset ($ coincidencias [1])) (
            $split = explode('?', $url); $ División explotar ('?', = $ URL);
            $url = $split[0]; URL = $ $ dividido [0];
            $query = @$split[1]; $ Consulta = @ $ división [1];
            $url   = str_replace('details.php', 'img'.get_image_url($matches[1]).'.htm', $url); $ Url = en que str_replace ( 'details.php', 'img'. Get_image_url ($ coincidencias [1 ]).'. htm Creación ', $ URL);
            $query = str_replace('image_id='.$matches[1].'&', '', $query); $ Consulta = que str_replace ( 'image_id ='. $ Coincidencias [1 ].'&','', $ consulta);
            $query = str_replace('&image_id='.$matches[1], '', $query); $ Consulta = que str_replace ( '& image_id ='. $ Coincidencias [1],'', $ consulta);
            $query = str_replace('image_id='.$matches[1], '', $query); $ Consulta = que str_replace ( 'image_id ='. $ Coincidencias [1],'', $ consulta);
            if (!empty($query)) { Si (! Vacío ($ consulta)) (
              $url .= '?' . $ URL .= '? '. $query; $ Consulta;
            } )
          } )
        } )
      } )
      elseif (strstr($url, 'postcards.php?image_id=')) { Sentencia elseif (strstr ($ URL, 'postcards.php? Image_id = ')) (
        preg_match('#image_id=([0-9]+)&?#', $url, $matches); Preg_match ( '# image_id = ([0-9 ]+)&?#', URL $, $ coincidencias);
        if (isset($matches[1])) { Si (sset ($ coincidencias [1])) (
          $split = explode('?', $url); $ División explotar ('?', = $ URL);
          $url = $split[0]; URL = $ $ dividido [0];
          $query = @$split[1]; $ Consulta = @ $ división [1];
          $url   = str_replace('postcards.php', 'postcard.img'.$matches[1].'.htm', $url); $ Url = en que str_replace ( 'postcards.php', 'postcard.img'. $ Coincidencias [1]. '. Htm Creación ', $ URL);
          $query = str_replace('image_id='.$matches[1].'&', '', $query); $ Consulta = que str_replace ( 'image_id ='. $ Coincidencias [1 ].'&','', $ consulta);
          $query = str_replace('&image_id='.$matches[1], '', $query); $ Consulta = que str_replace ( '& image_id ='. $ Coincidencias [1],'', $ consulta);
          $query = str_replace('image_id='.$matches[1], '', $query); $ Consulta = que str_replace ( 'image_id ='. $ Coincidencias [1],'', $ consulta);
          if (!empty($query)) { Si (! Vacío ($ consulta)) (
            $url .= '?' . $ URL .= '? '. $query; $ Consulta;
          } )
        } )
      } )
    } )
    if ($this->mode == "get" && strstr($url, $this->session_id)) { If ($ this-> modo == "conseguir" & & strstr ($ URL, $ this-> session_id)) (
      $url .= strpos($url, '?') !== false ? URL .= $ strstr ($ URL, '? ')! == Falso? '&' : '?'; '&': '? ';
      $url .= SESSION_NAME."=".$this->session_id; URL .= $ SESSION_NAME ."=".$ this-> session_id;
    } )
    if (!empty($l)) { Si (! Vacío ($ apartado l)) (
      $url .= strpos($url, '?') ? URL .= $ strstr ($ URL, '? ')? '&' : '?'; '&': '? ';
      $url .= "l=".$l; URL .= $ »l =". $ L,
    } )
    $url = str_replace('&', $amp, $url); $ Url = en que str_replace ('&', amplificador $, $ URL);
    $url .= isset($dummy_array[1]) ? URL .= $ sset ($ dummy_array [1])? "#".$dummy_array[1] : ""; "#".$ Dummy_array [1]: "";
    return $url; URL regreso dólares;
  } )

El formato de como le quedaria las direcciones es el siguiente:

para las categorias:

http://www.tusitio.com/cat-catname-124.htm

y para las imagenes

http://www.tusitio.com/img-nombre-de-la-imagen-154.htm

Espero les sirva.

Saludos!!!!

Offline prive

  • Newbie
  • *
  • Posts: 38
    • View Profile
Re: Duda sobre mod Short URLs
« Reply #3 on: October 20, 2007, 06:15:46 PM »
Gracias, lo probaré pero antes puedes decir sobre que versión de 4i lo instalastes.

Offline alvaro0022

  • Full Member
  • ***
  • Posts: 132
  • nada es imposible
    • View Profile
    • Wallpapers
Re: Duda sobre mod Short URLs
« Reply #4 on: October 20, 2007, 08:25:30 PM »
Saludos

Lo instale en la version 1.7.4 pero creo que se puede instalar en todas las versiones a partir de la 1.7.1. Pero no te aseguro nada

Offline kabahsito

  • Newbie
  • *
  • Posts: 48
    • View Profile
    • :Wa-Mx: El blog de culiacan
Re: Duda sobre mod Short URLs
« Reply #5 on: October 21, 2007, 01:56:49 AM »
Yo ando buscando algo igual pero con los usuarios, y parece que esto se le acerca a lo que yo busco, por ejemplo que mi profile debes de que dijera http://subeimages.com.mx/member.php?action=showprofile&user_id=1, solo fuera http://subeimages.com.mx/usuario, y que en el mismo profile se mostrara la ultima imagen subida por el usuario, espero que sepas.
No es fácil saberlo, es fácil copearlo
Sería bueno que visitaras mi sitio web www.Wa-Mx.net

Offline prive

  • Newbie
  • *
  • Posts: 38
    • View Profile
Re: Duda sobre mod Short URLs
« Reply #6 on: October 22, 2007, 05:25:48 PM »
alvaro0022 el código que pusistes da error de sintasis

Offline prive

  • Newbie
  • *
  • Posts: 38
    • View Profile
Re: Duda sobre mod Short URLs
« Reply #7 on: October 22, 2007, 07:00:11 PM »
El original esta aqui:
http://www.4homepages.de/forum/index.php?topic=17598.0

en el primer post bajar el archivo .ra y emplear ese codigo si el codigo del post no rula