Author Topic: URLs con titulo de foto - GolaZo para Google  (Read 24709 times)

0 Members and 1 Guest are viewing this topic.

Offline theolbap

  • Full Member
  • ***
  • Posts: 118
  • Search Google "AH"
    • View Profile
URLs con titulo de foto - GolaZo para Google
« on: May 18, 2007, 01:00:53 AM »
Hola a Todos!

Ando buscando algun mod o quien pueda hacer la modificacion, es parecido a:
    
"[Mod] Search Engine Friendly URLs aka Short URLs"
http://www.4homepages.de/forum/index.php?topic=6729.0

Pero que en realidad, ponga el titulo en la url o en el html.

Ej: con este mod queda asi la url de una foto:

http://www.ahmira.com.ar/imgXXX.htm

(XXX=ID de la foto)

Seria MUY interesante que quedara asi:

http://www.ahmira.com.ar/que-linda-chica.htm

Que seria poner el titulo o nombre de la foto {image_name}

O poner adelante, agregando o como sea:

http://www.ahmira.com.ar/que-linda-chica/imgXXX.htm

Seria todo un exito para los buscadores como google, enviarles las urls mas completas seria sacarse la loteria... jaja..

espero respuestas, de ideas u opiniones de como hacer.

Saludos y gracias.

TheOlbap

Offline cristina

  • Newbie
  • *
  • Posts: 19
    • View Profile
Re: URLs con titulo de foto - GolaZo para Google
« Reply #1 on: May 18, 2007, 02:45:26 PM »
Hola,

¿Has leído todos los posts de ese MOD? Sí se puede hacer lo que quieres, está por la página 13 o así.

 :wink:

Offline cordada

  • Pre-Newbie
  • Posts: 4
    • View Profile
Re: URLs con titulo de foto - GolaZo para Google
« Reply #2 on: February 27, 2008, 05:15:53 PM »
Hola tengo un problema con la istalacion de ese Mod me da este error al ver las imagenes como que no las encuentra en el servidor.
Supongo que es algun problema con el .htaccess pero no doy con la solucion las urls si se me muestran en htm pero no encuentra las fotos. Tendra algo que ver las modificaciones de sesion.php que se hacen para integrar 4images y phpBB2 si alguno sabe la solucion muchas gracias.

Offline theolbap

  • Full Member
  • ***
  • Posts: 118
  • Search Google "AH"
    • View Profile
Re: URLs con titulo de foto - GolaZo para Google
« Reply #3 on: February 27, 2008, 08:10:39 PM »
Diria, volvelo a hacer y hacelo con cuidado, recorda:

1) Abri /includes/sessions.php
busca:

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;
  }

2) reemplazalo por:

Code: [Select]
/* ORIGINAL CODE
  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;
  }
*/
  function url($url, $amp = "&") {
    global $l, $user_info;
    $dummy_array = explode("#", $url);
    $url = $dummy_array[0];
    $url = str_replace('&', '&', $url);
    if (!defined('IN_CP')) {
      if (strstr($url, 'index.php')) {
        $url = str_replace('index.php', './', $url);
      }
      elseif (strstr($url, 'search.php')) {
        if (strstr($url, 'page=')) {
          preg_match('#page=([0-9]+)&?#', $url, $matches);
          if (isset($matches[1])) {
            $split = explode('?', $url);
            $url = $split[0];
            $query = @$split[1];
            $url   = str_replace('search.php', 'search.'.$matches[1].'.htm', $url);
            $query = str_replace('page='.$matches[1].'&', '', $query);
            $query = str_replace('&page='.$matches[1], '', $query);
            $query = str_replace('page='.$matches[1], '', $query);
            if (!empty($query)) {
              $url .= '?' . $query;
            }
          }
        }
        else {
          $url = str_replace('search.php', 'search.htm', $url);
        }
      }
      elseif (strstr($url, 'lightbox.php')) {
        if (strstr($url, 'page=')) {
          preg_match('#page=([0-9]+)&?#', $url, $matches);
          if (isset($matches[1])) {
            $split = explode('?', $url);
            $url = $split[0];
            $query = @$split[1];
            $url   = str_replace('lightbox.php', 'lightbox.'.$matches[1].'.htm', $url);
            $query = str_replace('page='.$matches[1].'&', '', $query);
            $query = str_replace('&page='.$matches[1], '', $query);
            $query = str_replace('page='.$matches[1], '', $query);
            if (!empty($query)) {
                $url .= '?' . $query;
            }
          }
        }
        else {
          $url = str_replace('lightbox.php', 'lightbox.htm', $url);
        }
      }
      elseif (strstr($url, 'categories.php')) {
        if (strstr($url, 'cat_id=') && strstr($url, 'page=')) {
          preg_match('#cat_id=([0-9]+)&?#', $url, $matches1);
          preg_match('#page=([0-9]+)&?#', $url, $matches2);
          if (isset($matches1[1]) && isset($matches2[1])) {
            $split = explode('?', $url);
            $url = $split[0];
            $query = @$split[1];
            $url   = str_replace('categories.php', 'cat'.$matches1[1].'.'.$matches2[1].'.htm', $url);
            $query = str_replace('cat_id='.$matches1[1].'&', '', $query);
            $query = str_replace('&cat_id='.$matches1[1], '', $query);
            $query = str_replace('cat_id='.$matches1[1], '', $query);
            $query = str_replace('page='.$matches2[1].'&', '', $query);
            $query = str_replace('&page='.$matches2[1], '', $query);
            $query = str_replace('page='.$matches2[1], '', $query);
            if (!empty($query)) {
              $url .= '?' . $query;
            }
          }
        }
        elseif (strstr($url, 'cat_id=')) {
          preg_match('#cat_id=([0-9]+)&?#', $url, $matches);
          if (isset($matches[1])) {
            $split = explode('?', $url);
            $url = $split[0];
            $query = @$split[1];
            $url   = str_replace('categories.php', 'cat'.$matches[1].'.htm', $url);
            $query = str_replace('cat_id='.$matches[1].'&', '', $query);
            $query = str_replace('&cat_id='.$matches[1], '', $query);
            $query = str_replace('cat_id='.$matches[1], '', $query);
            if (!empty($query)) {
              $url .= '?' . $query;
            }
          }
        }
        else {
          $url = str_replace('categories.php', 'cat.htm', $url);
        }
      }
      elseif (strstr($url, 'details.php?image_id=')) {
        if (strstr($url, 'image_id=') && strstr($url, 'mode=')) {
          preg_match('#image_id=([0-9]+)&?#', $url, $matches1);
          preg_match('#mode=([a-zA-Z0-9]+)&?#', $url, $matches2);
          if (isset($matches1[1]) && isset($matches2[1])) {
            $split = explode('?', $url);
            $url = $split[0];
            $query = @$split[1];
            $url   = str_replace('details.php', 'img'.$matches1[1].'.'.$matches2[1].'.htm', $url);
            $query = str_replace('image_id='.$matches1[1].'&', '', $query);
            $query = str_replace('&image_id='.$matches1[1], '', $query);
            $query = str_replace('image_id='.$matches1[1], '', $query);
            $query = str_replace('mode='.$matches2[1].'&', '', $query);
            $query = str_replace('&mode='.$matches2[1], '', $query);
            $query = str_replace('mode='.$matches2[1], '', $query);
            if (!empty($query)) {
              $url .= '?' . $query;
            }
          }
        }
        else {
          preg_match('#image_id=([0-9]+)&?#', $url, $matches);
          if (isset($matches[1])) {
            $split = explode('?', $url);
            $url = $split[0];
            $query = @$split[1];
            $url   = str_replace('details.php', 'img'.$matches[1].'.htm', $url);
            $query = str_replace('image_id='.$matches[1].'&', '', $query);
            $query = str_replace('&image_id='.$matches[1], '', $query);
            $query = str_replace('image_id='.$matches[1], '', $query);
            if (!empty($query)) {
              $url .= '?' . $query;
            }
          }
        }
      }
      elseif (strstr($url, 'postcards.php?image_id=')) {
        preg_match('#image_id=([0-9]+)&?#', $url, $matches);
        if (isset($matches[1])) {
          $split = explode('?', $url);
          $url = $split[0];
          $query = @$split[1];
          $url   = str_replace('postcards.php', 'postcard.img'.$matches[1].'.htm', $url);
          $query = str_replace('image_id='.$matches[1].'&', '', $query);
          $query = str_replace('&image_id='.$matches[1], '', $query);
          $query = str_replace('image_id='.$matches[1], '', $query);
          if (!empty($query)) {
            $url .= '?' . $query;
          }
        }
      }
    }
    if ($this->mode == "get" && strstr($url, $this->session_id)) {
      $url .= strpos($url, '?') !== false ? '&' : '?';
      $url .= SESSION_NAME."=".$this->session_id;
    }
    if (!empty($l)) {
      $url .= strpos($url, '?') ? '&' : '?';
      $url .= "l=".$l;
    }
    $url = str_replace('&', $amp, $url);
    $url .= isset($dummy_array[1]) ? "#".$dummy_array[1] : "";
    return $url;
  }

3) Y en el .htaccess, asegurate de agregar estas reglas:

Code: [Select]
RewriteEngine On
#RewriteBase /
RewriteRule ^lightbox\.htm$ lightbox.php?%{QUERY_STRING}
RewriteRule ^lightbox\.([0-9]+)\.htm$ lightbox.php?page=$1&%{QUERY_STRING}

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

RewriteRule ^cat\.htm$ categories.php?%{QUERY_STRING}
RewriteRule ^cat([0-9]+)\.([0-9]+)\.htm$ categories.php?cat_id=$1&page=$2&%{QUERY_STRING}
RewriteRule ^cat([0-9]+)\.htm$ categories.php?cat_id=$1&%{QUERY_STRING}

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

RewriteRule ^postcard([a-zA-Z0-9]+)\.htm$ postcards.php?postcard_id=$1&%{QUERY_STRING}
RewriteRule ^postcard\.img([0-9]+)\.htm$ postcards.php?image_id=$1&%{QUERY_STRING}

4) Fijate si tu galeria esta dentro de un dorectorio

Ej: www.dominio.com/nombre/

Descomenta la linea RewriteBase (quitar #) y agrega nombre.

Code: [Select]
RewriteBase /nombre/

Offline cordada

  • Pre-Newbie
  • Posts: 4
    • View Profile
Re: URLs con titulo de foto - GolaZo para Google
« Reply #4 on: February 28, 2008, 12:21:33 PM »
Pues nada theolbaq volvi hacerlo paso a paso en mi galeria de fotos y no me funciono. Asi que decidi probar el Mod en una version nueva recien instalada y cual es mi sorpresa que tampoco me funciona asi que solo me queda la explicacion de que sea algo de mi servidor. Que no acepte Mod Rewrite pero me parece raro por que en el foro phpBB2 no tuve ningun problema para poner Urls amigables con Mod Rewrite.

Si alguien se le ocurre algo gracias por hacermelo saber.

Offline cordada

  • Pre-Newbie
  • Posts: 4
    • View Profile
Re: URLs con titulo de foto - GolaZo para Google
« Reply #5 on: March 06, 2008, 06:28:28 PM »
Pues me confirman que mi host tiene activado el mod rewrite asi que solo me queda que no me funcione por el .htacces por poner mal el directorio o algo si mi galeria esta www.cordada.net/catalog/phpBB2/4images1.7.6/4images que tendria que poner y que permisos tiene el .htacces gracias de nuevo a todos  :wink:

Offline cordada

  • Pre-Newbie
  • Posts: 4
    • View Profile
Re: URLs con titulo de foto - GolaZo para Google
« Reply #6 on: March 07, 2008, 10:27:16 AM »
Solucionado era un problema del directorio en el htacces que no lo ponia bien

Offline swarzy

  • Newbie
  • *
  • Posts: 13
    • View Profile
Re: URLs con titulo de foto - GolaZo para Google
« Reply #7 on: September 23, 2011, 04:07:03 AM »
Hola, espero que puedan ayudarme.
He modificado el sessions.php y el .htaccess como ponen en los post anteriores y la ruta de las imagenes me quedan asi...


http://www.swarzycustom.com/imgXXX.htm

(XXX=ID de la foto)


¿como puedo hacer para que salgan los titulos de las imagenes?

Muchas gracias por anticipado.
« Last Edit: September 23, 2011, 04:29:24 AM by swarzy »

Offline mxnn

  • Pre-Newbie
  • Posts: 7
  • Chileno
    • View Profile
Re: URLs con titulo de foto - GolaZo para Google
« Reply #8 on: June 12, 2013, 11:08:19 PM »
excelente mod!

Offline makinafull

  • Pre-Newbie
  • Posts: 3
    • View Profile
Re: URLs con titulo de foto - GolaZo para Google
« Reply #9 on: January 28, 2015, 03:37:19 PM »
Hola a Todos, tambien tengo ese problema en mi web los link quedan asi

http://www.customsr4.com/img113.htm

y ya he modificado el .htaccess que esta en la raiz de mi instalacion alguna ayuda porfa!!

Offline ksamochkin

  • Pre-Newbie
  • Posts: 6
    • View Profile
    • Русская поддержка 4images
Re: URLs con titulo de foto - GolaZo para Google
« Reply #10 on: January 28, 2015, 05:03:35 PM »
not work http://myfoto.permskii.ru/


хм... убрал из файла sessions.php

Code: [Select]
/* ORIGINAL CODE
  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;
  }
*/
и заработало
« Last Edit: January 28, 2015, 05:36:36 PM by ksamochkin »