Results 1 to 1 of 1

404 / 301 Tool; Nach Import durch ImpEx Weiterleitung von alten ID's zu neuen ID's

This is a discussion on 404 / 301 Tool; Nach Import durch ImpEx Weiterleitung von alten ID's zu neuen ID's within the Deutsch forums, part of the General Discussion category; Eines der größten Vorteile von vBulletin ist Impex. ImpEx ist ein Tool, mit dem es möglich ist, ganz einfach Inhalte ...

  1. #1
    Senior Member
    Real Name
    Philipp Herbers
    Join Date
    Sep 2005
    Location
    Meppen, Germany
    Posts
    8,436
    Liked
    0 times

    404 / 301 Tool; Nach Import durch ImpEx Weiterleitung von alten ID's zu neuen ID's

    Eines der größten Vorteile von vBulletin ist Impex. ImpEx ist ein Tool, mit dem es möglich ist, ganz einfach Inhalte von anderen, bekannten Forensysteme, zu vBulletin zu importieren, um Ihre Forensoftware auf vBulletin/vBSEO zu migrieren.

    Der Nachteil von ImpEx war, dass wenn nur ein einziger Beitrag oder nur ein einziges Thema gelöscht wurde, ImpEx nicht mehr die selben IDs beibehielt. Dies hatte nach der Umschaltung auf vBulletin einen negativen Einfluss auf das SEO Ihrer Seite.

    Glücklichweise hat Jerry ein 404 Script erstellt, welches die importierte ID aus der Datenbank ausliest und diese richtig zu der neuen vBulletin ID weiterleitet. Das ist ein klasse Tool für importierte Foren. Da es so ein wichtiges Feature ist, haben wir Jerry um die Erlaubnis gebeten, sein Script modifizieren zu dürfen und es vBSEO Besitzern zur Verfügung zu stellen. Jerry hat uns daraufhin freundlicherweise die Erlaubnis zur Modifizierung seines Skriptes gegeben.

    Das Tool unterstützt derzeit phpBB, SMF, IPB 2 und MyBB.

    Hinweis: Wenn Sie eine Forensoftware besitzen, die hier nicht aufgelistet ist und Sie auch an einer Nutzung dieses Skriptes interessiert sind, dieses Script nach Ihrem Impex Import zu benutzen, senden Sie uns bitte Beispiel-URLs zu, so dass wir Ihnen passende.htaccess Regeln zur Vefügung stellen können.

    Bitte folgen Sie diesen Anweisungen, wenn Sie Ihre alten URLs auf die neuen vBSEO URLs weiterleiten möchten.

    Als erstes müssen Sie eine vbseo301.php Datei mit dem folgenden Inhalt erstellen:

    PHP Code:
    <?php
     
    404 /301 for external and internal link redirect.
    *
    * @
    package            ImpEx.tools
    * @version            $Revision1902 $
    * @
    author            Jerry Hutchings 
    * @modified by             Oleg Ignatiuk 
    */
    $standard_404     'http://www.example.com/not_found.html';     // The usual 404 that this script replaces
    $new_domain     'example';   // Including domain extension such as www.example.com , donot include http://
    $new_folder        'vBulletin';    // Without trailing slash
    $ext_type        '.php';         // File extension type that vBulletin is using, i.e. index.php including the preceding dot
     
    // Database
    // This is the vBulletin database, needed for import id look up and logging
    $server         'localhost';
    $user             'user';
    $password         'password';
    $database         'forum';
    $tableprefix     '';
     
     
    $old_id         intval($_GET['oldid']);
    $page            intval($_GET['page']);
    $postcount        intval($_GET['postcount']);
    $action         $_GET['action'];
    $sql             null;
     
    switch (
    $action)
    {
        case 
    'forum':
            
    $sql "SELECT forumid FROM {$tableprefix}forum WHERE importforumid={$old_id}";
            
    $new_url "http://{$new_domain}/{$new_folder}forumdisplay{$ext_type}?f=";
        break;
     
        case 
    'thread':
            
    $sql "SELECT threadid FROM {$tableprefix}thread WHERE importthreadid={$old_id}";
            
    $new_url "http://{$new_domain}/{$new_folder}showthread{$ext_type}?t=";
        break;
     
        case 
    'post':
            
    $sql "SELECT postid FROM {$tableprefix}post WHERE importpostid={$old_id}";
            
    $new_url "http://{$new_domain}/{$new_folder}showpost{$ext_type}?p=";
        break;
     
        case 
    'user':
            
    $sql "SELECT userid FROM {$tableprefix}user WHERE importuserid={$old_id}";
            
    $new_url "http://{$new_domain}/{$new_folder}member{$ext_type}?u=" ;
        break;
    }
     
     
    if( 
    $sql )
    {
        
    $link = @mysql_connect($server$user$password);
        if (
    $link)
        {
            
    $db_selected = @mysql_select_db($database$link);
     
            if (
    $db_selected)
            {
                
    $result = @mysql_query($sql);
                
    $row = @mysql_fetch_row($result);
     
                if (!
    $row[0])
                {
                    
    $action 'Original data missing';
                }
                @
    mysql_free_result($result);
            }
        }
    }
     
    if (!
    $sql || !$old_id || !$row[0])
    {
    ?>
     
     
     
     
     
     
     
         // Got nuffink
        die;
    }
     
    $new_url .= $row[0];
     
    if($page)       
        $new_url .= "&page={$page}";
     
     
     
     
     
     
    if($postcount)
       $new_url .= "&postcount={$postcount}";
     
    @mysql_close($link);
     
    header( "HTTP/1.1 301 Moved Permanently" );
    header( "Location: {$new_url}" );
    ?>
    Daraufhin ist es notwendig, in dem Script die Zugangsdaten Ihrer Datenbank von der vBulletin Installation einzutragen. Folgende Zeilen müssen dafür entsprechend angepasst werden:

    PHP Code:
    $standard_404     'http://www.example.com/not_found.html';     // The usual 404 that this script replaces
    $new_domain     'example';
    $new_folder        'vBulletin';    // Without trailing slash
    $ext_type        '.php';         // File extension type that vBulletin is using, i.e. index.php including the preceding dot
     
    // Database
    // This is the vBulletin database, needed for import id look up and logging
    $server         'localhost';
    $user             'user';
    $password         'password';
    $database         'forum';
    $tableprefix     ''
    Zum Schluss müssen Sie noch folgende Rewrite Regeln direkt nach der RewriteEngine On Zeile in Ihre .htaccess Datei einfügen. Bitte wählen Sie hierfür die Regeln aus, welche für Ihre jeweilige Forensoftware bestimmt sind:

    phpBB Benutzer

    Code:
    RewriteCond %{QUERY_STRING} f=([0-9]+)
    RewriteRule viewforum\.php vbseo301.php?action=forum&oldid=%1 [L]
     
    RewriteCond %{QUERY_STRING} t=([0-9]+)
    RewriteRule viewtopic\.php vbseo301.php?action=thread&oldid=%1 [L]
     
    RewriteCond %{QUERY_STRING} ^p=([0-9]+)
    RewriteRule viewtopic\.php vbseo301.php?action=post&oldid=%1 [L]
     
    RewriteCond %{QUERY_STRING} u=([0-9]+)
    RewriteRule profile\.php vbseo301.php?action=user&oldid=%1 [L]
    SMF Benutzer
    Code:
    RewriteCond %{QUERY_STRING} board=([0-9]+)
    RewriteRule index\.php vbseo301.php?action=forum&oldid=%1 [L]
     
    RewriteCond %{QUERY_STRING} topic=([0-9]+)
    RewriteRule index\.php vbseo301.php?action=thread&oldid=%1 [L]
     
    RewriteCond %{QUERY_STRING} .msg([0-9]+)
    RewriteRule index\.php vbseo301.php?action=post&oldid=%1 [L]
     
    RewriteCond %{QUERY_STRING} action=profile;u=([0-9]+)
    RewriteRule index\.php vbseo301.php?action=useaction=profile;u=r&oldid=%1 [L]
    IPB 2 Benutzer
    Code:
    RewriteCond %{QUERY_STRING} showforum=([0-9]+)
    RewriteRule index\.php vbseo301.php?action=forum&oldid=%1 [L]
     
    RewriteCond %{QUERY_STRING} showtopic=([0-9]+)
    RewriteRule index\.php vbseo301.php?action=thread&oldid=%1 [L]
     
    RewriteCond %{QUERY_STRING} view=findpost&p=([0-9]+)
    RewriteRule index\.php vbseo301.php?action=post&oldid=%1 [L]
     
    RewriteCond %{QUERY_STRING} showuser=([0-9]+)
    RewriteRule index\.php vbseo301.php?action=user&oldid=%1 [L]
    MyBB 1.2 / 1.4

    Code:
    RewriteCond %{QUERY_STRING} pid=([0-9]+)
    RewriteRule showthread\.php vbseo301.php?action=post&oldid=%1 [L]
     
    RewriteCond %{QUERY_STRING} tid=([0-9]+)\&page=([0-9]+)
    RewriteRule showthread\.php vbseo301.php?action=thread&oldid=%1&page=%2 [L]
     
    RewriteCond %{QUERY_STRING} tid=([0-9]+)
    RewriteRule showthread\.php vbseo301.php?action=thread&oldid=%1 [L]
     
    RewriteCond %{QUERY_STRING} fid=([0-9]+).*page=([0-9]+)
    RewriteRule forumdisplay\.php vbseo301.php?action=forum&oldid=%1&page=%2 [L]
     
    RewriteCond %{QUERY_STRING} fid=([0-9]+)
    RewriteRule forumdisplay\.php vbseo301.php?action=forum&oldid=%1 [L]
     
    RewriteCond %{QUERY_STRING} action=profile\&uid=([0-9]+)
    RewriteRule member\.php vbseo301.php?action=user&oldid=%1 [L]
    Woltlab Burning Board 2.x

    Code:
    RewriteCond %{QUERY_STRING} boardid=([0-9]+)
    RewriteRule board.php vbseo301.php?action=forum&oldid=%1 [L]
     
    RewriteCond %{QUERY_STRING} threadid=([0-9]+)
    RewriteRule thread.php vbseo301.php?action=thread&oldid=%1 [L]
     
    RewriteCond %{QUERY_STRING} userid=([0-9]+)
    RewriteRule profile.php vbseo301.php?action=user&oldid=%1 [L]
    Last edited by Philipp Herbers; 11-28-2008 at 02:43 PM.

Similar Threads

  1. 404 / 301 Tool After Import Redirect on ImpEx imported forums
    By Mert Gökçeimam in forum General Discussion
    Replies: 238
    Last Post: 11-18-2011, 06:58 PM
  2. Replies: 3
    Last Post: 10-06-2008, 01:02 AM
  3. forum id's for rss feeds
    By jwbond in forum General Discussion
    Replies: 2
    Last Post: 02-07-2007, 11:47 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •