can anyone modify this (mod_rewrite for phpbb) for me?

Discussion in 'PHP' started by Desert_Rose, Sep 3, 2006.

  1. #1
    hi guys!
    i've just installed this mod..
    # 
    #-----[ OPEN ]------------------------------------------ 
    # 
    
    includes/page_header.php 
    
    # 
    #-----[ FIND ]------------------------------------------ 
    # 
    
    $template->set_filenames(array( 
        'overall_header' => ( empty($gen_simple_header) ) ? 'overall_header.tpl' : 'simple_header.tpl') 
    ); 
    
    # 
    #-----[ AFTER, ADD  ]------------------------------------------ 
    # 
    
    ob_start(); 
    
    
    
    function make_url_friendly($url) 
    { 
    
        $url = strtolower($url); 
    
        $find = array(' ', 
                '&', 
                '\r\n', 
                '\n', 
                '/', 
                '\\', 
                '+'); 
    
        $url = str_replace ($find, '-', $url); 
    
        $find = array(' ', 
                'é', 
                'è', 
                'ë', 
                'ê'); 
          
        $url = str_replace ($find, 'e', $url); 
          
        $find = array(' ', 
                'ó', 
                'ò', 
                'ô', 
                'ö'); 
          
        $url = str_replace ($find, 'o', $url); 
          
        $find = array(' ', 
                'á', 
                'à', 
                'â', 
                'ä'); 
          
        $url = str_replace ($find, 'a', $url); 
          
        $find = array(' ', 
                'í', 
                'ì', 
                'î', 
                'ï'); 
          
        $url = str_replace ($find, 'i', $url); 
          
        $find = array(' ', 
                'ú', 
                'ù', 
                'û', 
                'ü'); 
          
        $url = str_replace ($find, 'u', $url); 
          
        $find = array('/[^a-z0-9\-<>]/', 
                '/[\-]+/', 
                '/<[^>]*>/'); 
    
        $repl = array('', 
                '-', 
                ''); 
    
        $url =  preg_replace ($find, $repl, $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', 
                '/(?<!\/)viewtopic.php\?p=([0-9]+)((&amp;)|(&)){0,1}([^>]+>)(.*?)<\/a>/e', 
                '/(?<!\/)viewtopic.php\?t=([0-9]+)((&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') . '-vp\\1.html' . if_query('\\2') . stripslashes('\\5\\6') . '</a>'", 
                "make_url_friendly('\\6') . '-vt\\1.html' . if_query('\\2') . stripslashes('\\5\\6') . '</a>'"); 
    
        $content = preg_replace($url_in, $url_out, $content); 
    
        return $content; 
    
    }    
    
    # 
    #-----[ 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  ]------------------------------------------ 
    # 
    
    if ( $do_gzip_compress ) 
    { 
        // 
        // Borrowed from php.net! 
        // 
        $gzip_contents = ob_get_contents(); 
        ob_end_clean(); 
        echo rewrite_urls($contents); 
        global $dbg_starttime; 
          
        $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); 
    } 
    else 
    { 
        $contents = ob_get_contents(); 
        ob_end_clean(); 
        echo rewrite_urls($contents); 
        global $dbg_starttime; 
    } 
    
    # 
    #-----[ OPEN ]------------------------------------------ 
    #    
    
    .htaccess 
    
    # 
    #-----[ ADD  ]------------------------------------------ 
    #    
    
    Options +FollowSymlinks 
    
    RewriteEngine On 
    #this may cause isues 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 
    
    Code (markup):
    It rewrites URL as
    for viewforum: www.forum.com/introduction-vf1.html
    www.forum.com/admin-section-vf2.html
    www.forum.com/feedback-vf3.html like this...
    i want this to be www.forum.com/introduction.html/
    www.forum.com/admin-section.html ...like this

    similarly for viewtopic www.forum.com/introduction-vt1.html
    www.forum.com/admin-section-vt2.html
    i also want this to be www.forum.com/admin-section.html

    i hope you guys have understood what im trying to say..
    can anyone here modify this code??
    looking forward for your help..
    Thanks in advance
     
    Desert_Rose, Sep 3, 2006 IP
  2. amitpatel_3001

    amitpatel_3001 Results Follow Patience

    Messages:
    14,074
    Likes Received:
    1,178
    Best Answers:
    0
    Trophy Points:
    430
    #2
    amitpatel_3001, Sep 3, 2006 IP
  3. smatts9

    smatts9 Active Member

    Messages:
    1,089
    Likes Received:
    71
    Best Answers:
    0
    Trophy Points:
    88
    #3
    smatts9, Sep 3, 2006 IP
  4. Desert_Rose

    Desert_Rose Peon

    Messages:
    30
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #4
    @ smatts
    it was just an example..
    I just want to remove vt (viewtopic), vf (viewfoum) and vp (viewpost) from the URLs.
     
    Desert_Rose, Sep 4, 2006 IP
  5. Reuben

    Reuben Peon

    Messages:
    162
    Likes Received:
    3
    Best Answers:
    0
    Trophy Points:
    0
    #5
    if you keep the numbers, you could probably do it. but it'd have problems, thats why it has the letters in.
     
    Reuben, Sep 5, 2006 IP