Índice de Chilaquiles.net  
  • Flux RSS  • Album   • Chat  • F.A.Q. •  Buscar •  Lista de Miembros •  Grupos de Usuarios •  Regístrese •  Mensajes Privados •  Conectarse

Optimizacion de foros PHPBB de URL dinamica a Estatica

 
Publicar Nuevo Tema   Responder al Tema
Ver tema anterior :: Ver siguiente tema  
Autor Mensaje
forosdelaweb
Mazorca

Mazorca



Registrado: 30 Mar 2006
Mensajes: 12

Mensaje Título del mensaje: Optimizacion de foros PHPBB de URL dinamica a Estatica Responder citando

Esta es una modificación para que los foros PHPBB sean indexados a cualquier buscador mucho mas fácil, esta modificacion se llama GoogleBB

#
#-----[ ABRIR ]------------------------------------------
#
includes/page_tail.php

#
#-----[ BUSCAR / ENCONTRAR ]------------------------------------------
#
exit;

#
#-----[ REEMPLAZAR POR ]------------------------------------------
#
$pagecontent = ob_get_contents();
ob_end_clean();

echo replace_html_links($pagecontent);

exit;

/**
 * Function: replace_html_links
 *
 * Author: Kinetix < webmaster@ikrontik.tk >
 *
 * Version: 1.0.0
 *
 * Purpose: Transforms page content's links into .html pages
 *   to allow better caching in Google.
 *
 * Notes: This will NOT work properly if you do not use &amp; for
 *   the & character in links.
 */
function replace_html_links($pagedata)
{
   // Whatever you want to replace has to be in the same index as
   // whatever you are going to replace it with in the changearray
   $replacearray = array(
      "'(?<!/)viewforum.php\?f=([0-9]+)&amp;topicdays=([0-9]+)&amp;start=([0-9]+)'",
      "'(?<!/)viewforum.php\?f=([0-9]+)&amp;(mark|start)=([a-zA-Z0-9_]*)'",
      "'(?<!/)viewforum.php\?f=([0-9]+)'",
      "'(?<!/)viewtopic.php\?t=([0-9]+)&amp;([a-zA-Z]*)=topic&amp;start=([0-9]+)'",
      "'(?<!/)viewtopic.php\?t=([0-9]+)&amp;postdays=([0-9]+)&amp;postorder=([a-zA-Z]*)&amp;vote=([a-zA-Z0-9_]*)'",
      "'(?<!/)viewtopic.php\?t=([0-9]+)&amp;start=([0-9]+)&amp;postdays=([0-9]+)&amp;postorder=([a-zA-Z]*)&amp;highlight='",
      "'(?<!/)viewtopic.php\?t=([0-9]+)&amp;postdays=([0-9]+)&amp;postorder=([a-zA-Z]*)&amp;start=([0-9]+)'",
      "'(?<!/)viewtopic.php\?t=([0-9]+)&amp;(start|view|highlight)=([/:\-\'(){}.&=_a-zA-Z0-9 ]*)'",
      "'(?<!/)viewtopic.php\?t=([0-9]+)&amp;([a-zA-Z0-9]*)=topic&amp;start=0'",
      "'(?<!/)viewtopic.php\?t=([0-9]+)'",
      "'(?<!/)viewtopic.php\?p=([0-9]+)'",
      "'(?<!/)search.php\?([a-zA-Z0-9_]+)=([a-zA-Z0-9_]*)&amp;([a-zA-Z0-9_]*)=([a-zA-Z0-9_]*)'",
      "'(?<!/)search.php\?([a-zA-Z0-9_]+)=([a-zA-Z0-9_]*)'",
      "'(?<!/)search.php'",
      "'(?<!/)memberlist.php\?mode=([a-zA-Z0-9]+)&amp;order=([a-zA-Z]*)&amp;start=([0-9]*)'",
      "'(?<!/)memberlist.php'",
      "'(?<!/)faq.php\?mode=([a-zA-Z0-9_]*)'",
      "'(?<!/)faq.php'",
      "'(?<!/)groupcp.php\?g=([0-9]+)&amp;start=([0-9]+)'",
      "'(?<!/)groupcp.php\?g=([0-9]+)'",
      "'(?<!/)groupcp.php'",
      "'(?<!/)profile.php\?mode=viewprofile&amp;u=([0-9]+)'"
   );
   
   $changearray = array(
      "viewforum.\\1-\\2-\\3.html",
      "viewforum.\\1-\\2\\3.html",
      "viewforum.\\1.html",
      "watchtopic.\\1-\\2-\\3.html",
      "viewtopicres.\\1-\\2-\\3-\\4.html",
      "viewtops.\\1-\\2-\\3.html",
      "viewtopp.\\1-\\2-\\3-\\4.html",
      "viewtoph.\\1-\\2-\\3.html",
      "viewtopx.\\1-\\2.html",
      "viewtopic.\\1\\2.html",
      "viewpost.\\1\\2.html",
      "search.\\1-\\2-\\3-\\4.html",
      "search.\\1-\\2.html",
      "search.html",
      "memberlist.\\1-\\2-\\3.html",
      "memberlist.html",
      "faq.\\1.html",
      "faq.html",
      "groupcp.\\1-\\2.html",
      "groupcp.\\1.html",
      "groupcp.html",
      "viewprofile.\\1.html"
   );
   if(($newdata = preg_replace($replacearray, $changearray, $pagedata)) != FALSE)
      return $newdata;
   else
      return $pagedata;
}
#
#-----[ ABRIR ]------------------------------------------
#
includes/page_header.php
#
#-----[ BUSCAR / ENCONTRAR ]------------------------------------------
#
//
// Parse and show the overall header.
//
#
#-----[ ANTES, AÑADIR ]------------------------------------------
#
ob_start();

#
#-----[ GUARDAR Y CERRA LOS ARCHIVOS ]------------------------------------------
#
# EoM / Fin de Modificaciones


Ahora vamos a crear un archivo llamado .htaccess que se colocara en el directorio raiz del foro, y este es el contenido:

# you should deny these files anyway, this stops people from taking theme templates
<FilesMatch "\.(inc|tpl|cfg)$">
deny from all
</FilesMatch>

<Limit GET PUT POST>
  Order Allow,Deny
  Allow from all
</Limit>

RewriteEngine on

RewriteRule ^viewforum.([0-9]+)-([0-9]+)-([0-9]+).html viewforum.php\?f=$1&topicdays=$2&start=$3
RewriteRule ^viewforum.([1-9][0-9]*).html viewforum.php\?f=$1
RewriteRule ^watchtopic.([0-9]*)-([a-zA-Z]*)-([0-9]+).html viewtopic.php\?t=$1&$2=topic&start=$2
RewriteRule ^viewtopicres.([0-9]+)-([0-9]+)-([a-zA-Z]*)-([a-zA-Z0-9_]*).html  viewtopic.php\?t=$1&postdays=$2&postorder=$3&vote=$4
RewriteRule ^viewtops.([0-9]+)-([0-9]+)-([0-9]+).html viewtopic.php\?t=$1&start=$2&postdays=$3&highlight=
RewriteRule ^viewtops.([0-9]+)-([0-9]+)-([0-9]+)-([a-zA-Z]*).html viewtopic.php\?t=$1&start=$2&postdays=$3&postorder=$4&highlight=
RewriteRule ^viewtoph.([0-9]*)-([[:punct:]/:\-\'(){}.&=_a-zA-Z0-9\ ]*).html viewtopic.php\?t=$1&highlight=$2
RewriteRule ^viewtopx.([0-9]*)-([0-9]*).html viewtopic\?t=$1&start=$2
RewriteRule ^viewtopp.([0-9]*)-([0-9]*)-([a-zA-Z]*)-([0-9]*).html viewtopic.php\?t=$1&postdays=$2&postorder=$3&start=$4
RewriteRule ^viewpost.([0-9]+)-([0-9]+)-([0-9]+).html viewtopic.php\?t=$1&postdays=$2&postorder=asc&start=$3
RewriteRule ^viewtopic.([1-9][0-9]*).html viewtopic.php\?t=$1
RewriteRule ^viewpost.([1-9][0-9]*).html viewtopic.php\?p=$1
RewriteRule search.([a-zA-Z0-9_]*)-([a-zA-Z0-9_]*)-([a-zA-Z0-9_]*)-([a-zA-Z0-9_]*).html search.php\?$1=$2&$3=$4
RewriteRule search.([a-zA-Z0-9_]*)-([a-zA-Z0-9_]*).html search.php\?$1=$2
RewriteRule search.html search.php
RewriteRule memberlist.([a-zA-Z0-9]*)-([a-zA-Z]*)-([0-9]*).html memberlist.php\?mode=$1&order=$2&start=$3
RewriteRule memberlist.html memberlist.php
RewriteRule faq.([a-zA-Z0-9]*).html faq.php\?mode=$1
RewriteRule faq.html faq.php
RewriteRule groupcp.([0-9]*)-([0-9]*).html groupcp.php\?g=$1&start=$2
RewriteRule groupcp.([0-9]*).html groupcp.php?g=$1
RewriteRule groupcp.html groupcp.php
RewriteRule viewprofile.([0-9]*).html profile.php\?mode=viewprofile&u=$1


Con esto se cambiaran las URL dinamicas a estaticas, yo lo tengo implementado en mi foro y funciona perfecto.

Saludos Very Happy

_________________
Foros de la Web
Directorio de enlaces gratuito
Buscador
Mensaje Publicado: Dom Abr 02, 2006 8:33 pm 
Volver arriba
Ver perfil del usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
bochita
crepa de huitlacoche

crepa de huitlacoche



Registrado: 30 Ene 2006
Mensajes: 1680
Ubicación: ya termine :P

Mensaje Título del mensaje: Responder citando

Muchas gracias Very Happy

Vamos a tratar de hacerlo.
Mensaje Publicado: Dom Abr 02, 2006 8:41 pm 
Volver arriba
Ver perfil del usuario Enviar mensaje privado Visitar sitio web del autor
forosdelaweb
Mazorca

Mazorca



Registrado: 30 Mar 2006
Mensajes: 12

Mensaje Título del mensaje: Responder citando

Ok, si tienes problemas solo me avisas Wink

_________________
Foros de la Web
Directorio de enlaces gratuito
Buscador
Mensaje Publicado: Dom Abr 02, 2006 8:46 pm 
Volver arriba
Ver perfil del usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mostrar mensajes anteriores:   
Publicar Nuevo Tema   Responder al Tema
Página 1 de 1

 
Saltar a: