phpBB SEO
Boards
Directory  
SEO  
Downloads
  phpBB SEO : Search Engine Optimization, Directory, Forums  
Index
Forums
Annuaire
Référencement
Télécharger
 
  Search Rechercher
    Register
Username :  Password :  Log me on automatically each visit  
S'enregistrer  
 
   
sub:how to make seo urls in phpbb2

 
Post new topic   Reply to topic    phpBB SEO » SEO Forum  » phpBB mod Rewrite  » Advanced mod Rewrite
::  
Author Message
AnilKumar



Joined: 31 Jul 2008
Posts: 3

sub:how to make seo urls in phpbb2Posted: Mon Aug 04, 2008 12:31 pm    Post subject: sub:how to make seo urls in phpbb2

q: i installed phpbb2 and using a module i am able to convert the link
-http://www.domain.com/viewforum.php?f=1 to
-http://www.domain.com/forumtitle_vf1.html using the following code:

Code:
##############################################################
## MOD Title:       phpBB SEO keyword URLs
## MOD Author:       webmedic (bah@webmedic.net) <Brook Humphrey> http://www.webmedic.net
## Original code from:   http://www.webmasterbrain.com/forum/question-static-sef-urls-for-phpbb-vt34.php
## MOD Description:    This mod makes static URLs for phpBB
##          Please read the author notes BEFORE using this mod.
##          Check http://www.webmedic.net/phpbb-google-msn-yahoo-seo-keyword-urls-mod-vt28667.html
##          for the latest version or to get help with this MOD
##
## MOD Version:    2.3.0
##
## Installation Level:    (Advanced)
## Installation Time:    5 Minutes
## Files To Edit:    (3)
##         .htaccess,
##         page_header.php,
##         page_footer.php,
##         overall_footer.tpl
## Included Files: n/a
##############################################################
## Author Notes:
## Use this mod together with the manage bots mod already included with integramod
## Make backups and test this on a test forum if you can. This is not a typical mod.
## This version is not like all the other mod rewrite and search engine optimization mods
## out there. It will make your urls into keyword phrases. to do this it rewrites the url
## to look like the topic or forum title.
## To see this mod in action please goto:
## http://www.webmedic.net/index.php
##
## LICENSE:
## Due to some issues with others taking my work and not offering proper credit
## (in as much as they have removed my credits and added their own) I have added
## a LICENSE.TXT. I have decided to license this under the RPL which states you can not
## remove my credits and if you make any modifications you have to resubmit the modifications
## to me for includion into this toolkit again. You can read the license for yourself for
## further info. It is also an open source license that has been deemed ok by osi.
##
## Along with this I now require a link to use this mod. If you don't want to have the
## linkback I will remove the requirement for a linkback for a small fee. If you are
## interested in removing the link please contact me at bah@webmedic.net
##
## All previous versions are licensed under the rpl from 6/29/2005
##
##############################################################
## MOD History:
##
##   2005-08-14 - Version 2.3.0
##   - Fixes for header errors and code clean up
##   - Added new characters to make url friendly function
##   - I went up a whole revision number as there were quite a few little bug fixes.
##     I also want to start a new thread for this.
##
##   2005-07-15 - Version 2.2.3
##   - small fix for some header issues.
##
##   2005-07-03 - Version 2.2.2
##   - Dissabled some of the page optimizations to fix issues with some javascripts
##     and css.
##   - Added keyword meta tags to the zip.
##
##   2005-06-29 - Version 2.2.1
##   - Added LICENSE.TXT after finding a few other sites taking credit for this mod.
##    - Added footer text for usage of this mod.
##   - Changed order of the install to help with any errors that may occur durring install.
##   - Fixed a few issues with overly optimizing the pages.
##
##   2005-06-24 - Version 2.2.0
##   - Rewrote some of the code for the smartor album again. This time it is more
##      comprehensive and should fix even unforeseen issues.
##   - Added new features so that when the page is being gziped it also removes
##      Unwanted comments, spaces, tabs, line feeds, and carriage returns. This also
##      makes the page smaller and helps to speed things up.
##
##   TODO: Fix forward and back links as well as links within threads that have multiple pages.
##
##   2005-06-21 - Version 2.1.0
##   - Rewrote a good portion of the smartor album code so that it works better.
##   - Added support for categories hierarchy thanks to 993ti at the
##      www.webmedic.net forums.
##   - Fixed major bug with phpbb were gzip was not working properly at all ever.
##      This mod fixes that issue so that gzip encoding now works properly.
##
##   2005-06-19 - Version 2.0.2
##   - Fixed small issue with " showing up in the url as -quot-
##     This was due to phpbb changing " to &quot; which is correct
##     but still does not look good in a url. So now it is completely removed.
##
##   2005-06-14 - Version 2.0.1
##   - Fixed small issue with url's not being rewritten if the site was using gzip compression.
##   - Fixed some of the string replace entries to not look for more than one space
##   - added < and > to the string replace functions
##
##   2005-06-07 - Version 2.0.0
##   - Added ability to use with pafiledb mod
##   - Added ability to use with kb mod (NOT WORKING YET)
##   - Added ability to use with Smartor album mod
##   - Added German umlauts & special characters (thanks to m³)
##   - Modified the way links are generated somewhat.
##     Hopefully the new method will catch a few things the old one did not.
##
##   2004-11-03 - Version 1.1.0
##   - Added replacements for /, \, and foreign character sets.
##
##   2004-08-22 - Version 1.0.0
##      - Initial public release.
##
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
##############################################################

#
#-----[ OPEN ]------------------------------------------
#

.htaccess

#
#-----[ ADD  ]------------------------------------------
#

RewriteEngine On
#this may cause issues with subdirs and so I have not enabled it.
RewriteBase /

RewriteRule [.]*-vf([0-9]*) viewforum.php?%{QUERY_STRING}&f=$1
RewriteRule [.]*-vp([0-9]*) viewtopic.php?%{QUERY_STRING}&p=$1
RewriteRule [.]*-vt([0-9]*) viewtopic.php?%{QUERY_STRING}&t=$1
RewriteRule [.]*-vc([0-9]*) index.php?%{QUERY_STRING}&c=$1
RewriteRule [.]*-ac([0-9]*) album_cat.php?%{QUERY_STRING}&cat_id=$1
RewriteRule [.]*-at([0-9]*) album_thumbnail.php?%{QUERY_STRING}&pic_id=$1
RewriteRule [.]*-apic([0-9]*) album_pic.php?%{QUERY_STRING}&pic_id=$1
RewriteRule [.]*-apm([0-9]*) album_picm.php?%{QUERY_STRING}&pic_id=$1
RewriteRule [.]*-full-asp([0-9]*) album_showpage.php?full=&pic_id=$1
RewriteRule [.]*-asp([0-9]*) album_showpage.php?%{QUERY_STRING}&pic_id=$1
RewriteRule [.]*-aper([0-9]*) album_personal.php?%{QUERY_STRING}&user_id=$1
RewriteRule [.]*-dc([0-9]*) dload.php?%{QUERY_STRING}action=category&cat_id=$1
RewriteRule [.]*-df([0-9]*) dload.php?%{QUERY_STRING}action=file&file_id=$1
RewriteRule [.]*-kbc([0-9]*) kb.php?%{QUERY_STRING}mode=cat&cat=$1
RewriteRule [.]*-kba([0-9]*) kb.php?%{QUERY_STRING}mode=article&k=$1
RewriteRule [.]*-kbsmp kb.php?mode=stats&stats=mostpopular
RewriteRule [.]*-kbstr kb.php?mode=stats&stats=toprated
RewriteRule [.]*-kbsl kb.php?mode=stats&stats=latest
RewriteRule [.]*-pbc([0-9]*) kb.php?%{QUERY_STRING}mode=cat&cat=$1
RewriteRule [.]*-pa([0-9]*) kb.php?%{QUERY_STRING}mode=article&k=$1
RewriteRule [.]*-psmp kb.php?mode=stats&stats=mostpopular
RewriteRule [.]*-pstr kb.php?mode=stats&stats=toprated
RewriteRule [.]*-pbsl kb.php?mode=stats&stats=latest

#
#-----[ OPEN ]------------------------------------------
#

includes/page_header.php

#
#-----[ FIND ]------------------------------------------
#

//
// gzip_compression
//
$do_gzip_compress = FALSE;
if($board_config['gzip_compress'])
{
   $phpver = phpversion();

   if($phpver >= "4.0.4pl1")
      {
         if(extension_loaded("zlib"))
      {
   if (headers_sent() != TRUE)
      {
         $gz_possible = isset($HTTP_SERVER_VARS["HTTP_ACCEPT_ENCODING"]) && eregi("gzip, deflate",$HTTP_SERVER_VARS["HTTP_ACCEPT_ENCODING"]);
         if ($gz_possible) ob_start("ob_gzhandler");
      }
   }
      }
         else if($phpver > "4.0")
      {
         if(strstr($HTTP_SERVER_VARS['HTTP_ACCEPT_ENCODING'], 'gzip'))
         {
            if(extension_loaded("zlib"))
         {
            $do_gzip_compress = TRUE;
            ob_start();
            ob_implicit_flush(0);

            header("Content-Encoding: gzip");
         }
      }
   }
}

#
#-----[ REPLACE, WITH  ]------------------------------------------
#

//-- [+] MOD: phpBB SEO keyword URLs -------------------------------------
//-- replace
//
/*
//
// gzip_compression
//
$do_gzip_compress = FALSE;
if($board_config['gzip_compress'])
{
   $phpver = phpversion();

   if($phpver >= "4.0.4pl1")
      {
         if(extension_loaded("zlib"))
      {
   if (headers_sent() != TRUE)
      {
         $gz_possible = isset($HTTP_SERVER_VARS["HTTP_ACCEPT_ENCODING"]) && eregi("gzip, deflate",$HTTP_SERVER_VARS["HTTP_ACCEPT_ENCODING"]);
         if ($gz_possible) ob_start("ob_gzhandler");
      }
   }
      }
         else if($phpver > "4.0")
      {
         if(strstr($HTTP_SERVER_VARS['HTTP_ACCEPT_ENCODING'], 'gzip'))
         {
            if(extension_loaded("zlib"))
         {
            $do_gzip_compress = TRUE;
            ob_start();
            ob_implicit_flush(0);

            header("Content-Encoding: gzip");
         }
      }
   }
}
*/
//
//while (@ob_end_flush());
ob_start();


function make_url_friendly($url)
{
   $url = trim($url);
   $url = strtolower($url);

   $find = array('<b>', '</b>');
   $url = str_replace ($find, '', $url);

   $url = preg_replace('/<(\/{0,1})img(.*?)(\/{0,1})\>/', 'image', $url);

   $find = array(' ', '&quot;', '&amp;', '&', '\r\n', '\n', '/', '\\', '+', '<', '>');
   $url = str_replace ($find, '-', $url);

   $find = array('é', 'è', 'ë', 'ê', 'É', 'È', 'Ë', 'Ê');
   $url = str_replace ($find, 'e', $url);

   $find = array('í', 'i', 'ì', 'î', 'ï', 'I', 'I', 'Í', 'Ì', 'Î', 'Ï');
   $url = str_replace ($find, 'i', $url);

   $find = array('ó', 'ö', 'Ö', 'ò', 'ô', 'Ó', 'Ò', 'Ô');
   $url = str_replace ($find, 'o', $url);

   $find = array('á', 'ä', 'â', 'à', 'â', 'Ä', 'Â', 'Á', 'À', 'Â');
   $url = str_replace ($find, 'a', $url);

   $find = array('ú', 'ü', 'Ü', 'ù', 'û', 'Ú', 'Ù', 'Û');
   $url = str_replace ($find, 'u', $url);

   $find = array('ç', 'Ç');
   $url = str_replace ($find, 'c', $url);

   $find = array('s', 'S');
   $url = str_replace ($find, 's', $url);

   $find = array('g', 'G');
   $url = str_replace ($find, 'g', $url);

   $find = array('/[^a-z0-9\-<>]/', '/[\-]+/', '/<[^>]*>/');

   $repl = array('', '-', '');

   $url = preg_replace ($find, $repl, $url);
   $url = str_replace ('--', '-', $url);

   return $url;
}

function rewrite_urls($content)
{

   function if_query($amp)
   {

      if($amp != '')
      {
         return '?';
      }

   }

        $url_in = array('/(?<!\/)viewforum.php\?f=([0-9]+)((&amp;)|(&)){0,1}([^>]+>)(.*?)<\/a>/e',
                        '/(?<!\/)\.\/viewforum.php\?f=([0-9]+)((&amp;)|(&)){0,1}([^>]+>)(.*?)<\/a>/e',
                        '/(?<!\/)viewtopic.php\?p=([0-9]+)((&amp;)|(&)){0,1}([^>]+>)(.*?)<\/a>/e',
                        '/(?<!\/)viewtopic.php\?t=([0-9]+)((&amp;)|(&)){0,1}([^>]+>)(.*?)<\/a>/e',

//-- [+] ******* ---------------------------------------------------------
//-- add
//
                        '/(?<!\/)index.php\?c=([0-9]+)((&amp;)|(&)){0,1}([^>]+>)(.*?)<\/a>/e',
//
//-- [-] ******* ---------------------------------------------------------

                        '/(?<!\/)album_cat.php\?cat_id=([0-9]+)((&amp;)|(&)){0,1}([^>]+>)(.*?)<\/a>/e',
                        '/(?<!\/)album_thumbnail.php\?pic_id=([0-9]+)((&amp;)|(&)){0,1}([^>]+>)(.*?)<\/a>/e',
                        '/(?<!\/)album_pic.php\?pic_id=([0-9]+)((&amp;)|(&)){0,1}([^>]+>)(.*?)<\/a>/e',
                        '/(?<!\/)album_picm.php\?pic_id=([0-9]+)((&amp;)|(&)){0,1}([^>]+>)(.*?)<\/a>/e',
                        //'/(?<!\/)album_showpage.php\?pic_id=([0-9]+)((&amp;)|(&)){0,1}([^>]+>)(<img .*?)<\/a>/e',
                        '/(?<!\/)album_showpage.php\?full=&pic_id=([0-9]+)((&amp;)|(&)){0,1}([^>]+>)(.*?)<\/a>/e',
                        '/(?<!\/)album_showpage.php\?pic_id=([0-9]+)((&amp;)|(&)){0,1}([^>]+>)(.*?)<\/a>/e',
                        '/(?<!\/)album_personal.php\?user_id=([0-9]+)((&amp;)|(&)){0,1}([^>]+>)(.*?)<\/a>/e',
                        '/(?<!\/)dload.php\?action=category&cat_id=([0-9]+)((&amp;)|(&)){0,1}([^>]+>)(.*?)<\/a>/e',
                        '/(?<!\/)dload.php\?action=file&file_id=([0-9]+)((&amp;)|(&)){0,1}([^>]+>)(.*?)<\/a>/e',
                        '/(?<!\/)kb.php\?mode=cat&cat=([0-9]+)((&amp;)|(&)){0,1}([^>]+>)(.*?)<\/a>/e',
                        '/(?<!\/)kb.php\?mode=article&k=([0-9]+)((&amp;)|(&)){0,1}([^>]+>)(.*?)<\/a>/e',
                        '/(?<!\/)kb.php\?mode=stats&stats=mostpopular((&amp;)|(&)){0,1}([^>]+>)(.*?)<\/a>/e',
                        '/(?<!\/)kb.php\?mode=stats&stats=toprated((&amp;)|(&)){0,1}([^>]+>)(.*?)<\/a>/e',
                        '/(?<!\/)kb.php\?mode=stats&stats=latest((&amp;)|(&)){0,1}([^>]+>)(.*?)<\/a>/e',
                        '/(?<!\/)press.php\?mode=cat&cat=([0-9]+)((&amp;)|(&)){0,1}([^>]+>)(.*?)<\/a>/e',
                        '/(?<!\/)press.php\?mode=article&k=([0-9]+)((&amp;)|(&)){0,1}([^>]+>)(.*?)<\/a>/e',
                        '/(?<!\/)press.php\?mode=stats&stats=mostpopular((&amp;)|(&)){0,1}([^>]+>)(.*?)<\/a>/e',
                        '/(?<!\/)press.php\?mode=stats&stats=toprated((&amp;)|(&)){0,1}([^>]+>)(.*?)<\/a>/e',
                        '/(?<!\/)press.php\?mode=stats&stats=latest((&amp;)|(&)){0,1}([^>]+>)(.*?)<\/a>/e');

        $url_out = array("make_url_friendly('\\6') . '-vf\\1.html' . if_query('\\2') . stripslashes('\\5\\6') . '</a>'",
                        "make_url_friendly('\\6') . '-vf\\1.html' . if_query('\\2') . stripslashes('\\5\\6') . '</a>'",
                        "make_url_friendly('\\6') . '-vp\\1.html' . if_query('\\2') . stripslashes('\\5\\6') . '</a>'",
                        "make_url_friendly('\\6') . '-vt\\1.html' . if_query('\\2') . stripslashes('\\5\\6') . '</a>'",

//-- [+] ******* ---------------------------------------------------------
//-- add
//
                        "make_url_friendly('\\6') . '-vc\\1.html' . if_query('\\2') . stripslashes('\\5\\6') . '</a>'",
//
//-- [-] ******* ---------------------------------------------------------

                        "make_url_friendly('\\6') . '-ac\\1.html' . if_query('\\2') . stripslashes('\\5\\6') . '</a>'",
                        "make_url_friendly('\\6') . '-at\\1.html' . if_query('\\2') . stripslashes('\\5\\6') . '</a>'",
                        "make_url_friendly('\\6') . '-apic\\1.html' . if_query('\\2') . stripslashes('\\5\\6') . '</a>'",
                        "make_url_friendly('\\6') . '-apm\\1.html' . if_query('\\2') . stripslashes('\\5\\6') . '</a>'",
                        //"'show-pic-asp\\1.html' . if_query('\\2') . stripslashes('\\5\\6') . '</a>'",
                        "'image-full-asp\\1.html' . if_query('\\2') . stripslashes('\\5\\6') . '</a>'",
                        "make_url_friendly('\\6') . '-asp\\1.html' . if_query('\\2') . stripslashes('\\5\\6') . '</a>'",
                        "make_url_friendly('\\6') . '-aper\\1.html' . if_query('\\2') . stripslashes('\\5\\6') . '</a>'",
                        "make_url_friendly('\\6') . '-dc\\1.html' . if_query('\\2') . stripslashes('\\5\\6') . '</a>'",
                        "make_url_friendly('\\6') . '-df\\1.html' . if_query('\\2') . stripslashes('\\5\\6') . '</a>'",
                        "make_url_friendly('\\6') . '-kbc\\1.html' . if_query('\\2') . stripslashes('\\5\\6') . '</a>'",
                        "make_url_friendly('\\6') . '-kba\\1.html' . if_query('\\2') . stripslashes('\\5\\6') . '</a>'",
                        "make_url_friendly('\\5') . '-kbsmp.html' . if_query('\\1') . stripslashes('\\4\\5') . '</a>'",
                        "make_url_friendly('\\5') . '-kbstr.html' . if_query('\\1') . stripslashes('\\4\\5') . '</a>'",
                        "make_url_friendly('\\5') . '-kbsl.html' . if_query('\\1') . stripslashes('\\4\\5') . '</a>'",
                        "make_url_friendly('\\6') . '-pc\\1.html' . if_query('\\2') . stripslashes('\\5\\6') . '</a>'",
                        "make_url_friendly('\\6') . '-pa\\1.html' . if_query('\\2') . stripslashes('\\5\\6') . '</a>'",
                        "make_url_friendly('\\5') . '-psmp.html' . if_query('\\1') . stripslashes('\\4\\5') . '</a>'",
                        "make_url_friendly('\\5') . '-pstr.html' . if_query('\\1') . stripslashes('\\4\\5') . '</a>'",
                        "make_url_friendly('\\5') . '-psl.html' . if_query('\\1') . stripslashes('\\4\\5') . '</a>'");

   $content = preg_replace($url_in, $url_out, $content);

   return $content;

}
//
//-- [-] MOD: phpBB SEO keyword URLs -------------------------------------

#
#-----[ OPEN ]------------------------------------------
#

includes/page_tail.php

#
#-----[ FIND ]------------------------------------------
#

if ( $do_gzip_compress )
{
   //
   // Borrowed from php.net!
   //
   $gzip_contents = ob_get_contents();
   ob_end_clean();

   $gzip_size = strlen($gzip_contents);
   $gzip_crc = crc32($gzip_contents);

   $gzip_contents = gzcompress($gzip_contents, 9);
   $gzip_contents = substr($gzip_contents, 0, strlen($gzip_contents) - 4);

   echo "\x1f\x8b\x08\x00\x00\x00\x00\x00";
   echo $gzip_contents;
   echo pack('V', $gzip_crc);
   echo pack('V', $gzip_size);
}

#
#-----[ REPLACE, WITH  ]------------------------------------------
#

//-- [+] MOD: phpBB SEO keyword URLs -------------------------------------
//-- replace
//
/*
if ( $do_gzip_compress )
{
   //
   // Borrowed from php.net!
   //
   $gzip_contents = ob_get_contents();
   ob_end_clean();

   $gzip_size = strlen($gzip_contents);
   $gzip_crc = crc32($gzip_contents);

   $gzip_contents = gzcompress($gzip_contents, 9);
   $gzip_contents = substr($gzip_contents, 0, strlen($gzip_contents) - 4);

   echo "\x1f\x8b\x08\x00\x00\x00\x00\x00";
   echo $gzip_contents;
   echo pack('V', $gzip_crc);
   echo pack('V', $gzip_size);
}
*/
//
if( function_exists(ob_gzhandler) && $board_config['gzip_compress'] == 1)
{
   $gzip_contents = rewrite_urls(ob_get_contents());
   ob_end_clean();
   ob_start('ob_gzhandler');
   echo $gzip_contents;
   ob_end_flush();
}
else
{
   $contents = rewrite_urls(ob_get_contents());
   ob_end_clean();
   echo $contents;
   global $dbg_starttime;
}
//
//-- [-] MOD: phpBB SEO keyword URLs -------------------------------------


#
#-----[ OPEN ]------------------------------------------
#

/templates/THE TEMPLATE YOUR USING/overall_footer.tpl

#
#-----[ FIND ]------------------------------------------
#

Powered by <a href="http://www.phpbb.com/" target="_phpbb">phpBB</a> {PHPBB_VERSION} &copy; phpBB Group

#
#-----[ REPLACE WITH]------------------------------------------
#

Powered by <a href="http://www.phpbb.com/" target="_phpbb">phpBB</a> {PHPBB_VERSION} &copy; phpBB Group <a href="http://www.webmedic.net/seo-toolkit-vf46.html">SEO toolkit &copy; 2004-2005 webmedic</a>


#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM




But, my problem is that i want to conver the link from
-http://www.domain.com/viewforum.php?f=1 to
-http://www.domain.com/vf/forumtitile/1

i made some changes in the code but when i click on
-http://www.domain.com/vf/forumtitile/1 i am not able to view the image in the
page as the url is completely changed , so please can anyone suggest me....

anilkumarp_nyros -AT-yahoo -DOT- com
Back to top
dcz
Administrateur - Site Admin
Administrateur - Site Admin


Joined: 28 Apr 2006
Posts: 15242

sub:how to make seo urls in phpbb2Posted: Wed Aug 06, 2008 7:55 am    Post subject: Re: sub:how to make seo urls in phpbb2

In addition to what I said in the other topic you posted (was not really necessary to post twice about the same issue but ...), I'd add, why not using one of our phpBB2 SEO mod, like the advanced one ?

_________________
Useful links :
SEO Forum || SEO Directory || SEO phpBB || SEO phpBB3 || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Référencement phpBB3 || Recherche
Back to top
Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    phpBB SEO » SEO Forum  » phpBB mod Rewrite  » Advanced mod Rewrite
Page 1 of 1

Navigation Similar Topics

Jump to: