Seite 1 von 1

Weiterleitung von ftopic-URLs zu Keyword-URLs

Verfasst: 26.05.2006 01:50
von Dominik Müller
Hallo zusammen,

hatte jetzt einige Zeit die Short-URL-Methode von larsneo und eben auf die Methode von http://www.seo-phpbb.org/ mit den Keywords in der URL umgestellt. Seitdem sind die URLs im larsneo-Stil tot und es wird nicht weitergeleitet, obwol ich mich dort an diese Script-Weiterleitung gehalten habe.

http://www.schildkroetenforum.net/ftopic2568.html leitet z. B. nicht zu http://www.schildkroetenforum.net/queck ... t2568.html weiter...

Brauche eure Hilfe, damit die von Google gespiderten Seiten nicht futsch sind :cry:

In der htaccess steht bei mir folgendes:

Code: Alles auswählen

DirectoryIndex index.php index.html index.htm

RewriteEngine On 

# prevent access from santy webworm a-e 
RewriteCond %{QUERY_STRING} ^(.*)highlight=\%2527 [OR] 
RewriteCond %{QUERY_STRING} ^(.*)rush=\%65\%63\%68 [OR] 
RewriteCond %{QUERY_STRING} ^(.*)rush=echo [OR] 
RewriteCond %{QUERY_STRING} ^(.*)wget\%20 [OR] 
RewriteCond %{QUERY_STRING} ^(.*)cmd= 
RewriteRule ^.*$ http://127.0.0.1/ [R,L] 

# prevent pre php 4.3.10 bug 
RewriteCond %{HTTP_COOKIE}% s:(.*):\%22test1\%22\%3b 
RewriteRule ^.*$ http://127.0.0.1/ [R,L] 

# prevent perl user agent (most often used by santy) 
RewriteCond %{HTTP_USER_AGENT} ^lwp.* [NC] 
RewriteRule ^.*$ http://127.0.0.1/ [R,L] 

# extended rewriting only for .html [thx to Caterham] 
RewriteRule !\.html$ - [L] 

# SEO phpBB
# .htaccess keyword in URL Version
#

# Forum
RewriteCond %{REQUEST_FILENAME} /(.*)-f([0-9]*).html
RewriteRule (.*) /viewforum.php?f=%2 [L]

RewriteCond %{REQUEST_FILENAME} /(.*)-f([0-9]*)-s([0-9]*).html
RewriteRule (.*) /viewforum.php?f=%2&start=%3 [L]

RewriteCond %{REQUEST_FILENAME} /(.*)-f([0-9]*)-p([0-9]*)-s([0-9]*).html
RewriteRule (.*) /viewforum.php?f=%2&topicdays=%3&start=%4 [L]

RewriteCond %{REQUEST_FILENAME} /(.*)-f([0-9]*)-p([0-9]*).html
RewriteRule (.*) /viewforum.php?f=%2&topicdays=%3 [L]


#topic
RewriteCond %{REQUEST_FILENAME} /(.*)-t([0-9]*).html
RewriteRule (.*) /viewtopic.php?t=%2 [L]

RewriteCond %{REQUEST_FILENAME} /(.*)-t([0-9]*)-s([0-9]*).html
RewriteRule (.*) /viewtopic.php?t=%2&start=%3 [L]

RewriteCond %{REQUEST_FILENAME} /(.*)-t([0-9]*)desc.html
RewriteRule (.*) /viewtopic.php?t=%2&&postorder=desc [L]

RewriteCond %{REQUEST_FILENAME} /(.*)-t([0-9]*)-p([0-9]*)-s([0-9]*).html
RewriteRule (.*) /viewtopic.php?t=%2&postdays=%3&postorder=asc&start=%4 [L]

RewriteCond %{REQUEST_FILENAME} /(.*)-t([0-9]*)-p([0-9]*)desc-s([0-9]*).html
RewriteRule (.*) /viewtopic.php?t=%2&postdays=%3&postorder=desc&start=%4 [L]

RewriteCond %{REQUEST_FILENAME} /(.*)-t([0-9]*)-p([0-9]*)desc.html
RewriteRule (.*) /viewtopic.php?t=%2&postdays=%3&postorder=desc [L]

RewriteCond %{REQUEST_FILENAME} /(.*)-t([0-9]*)-p([0-9]*).html
RewriteRule (.*) /viewtopic.php?t=%2&postdays=%3&postorder=asc&start=0 [L]

RewriteCond %{REQUEST_URI} ptopic,([0-9]*).htm*
RewriteRule ^(.*) relocate.php?p=%1\#%2  [L]

RewriteCond %{REQUEST_URI} ftopic,([0-9]*).htm*
RewriteRule ^(.*) relocate.php?t=%1\#%2  [L]

RewriteCond %{REQUEST_URI} forum,([0-9]*).htm*
RewriteRule ^(.*) relocate.php?f=%1  [L] 

# Short-URLs sitemap.php 
RewriteCond %{REQUEST_FILENAME} /fsitemap([0-9]*)-([0-9]*).* 
RewriteRule (.*) /sitemap.php?f=%1&t=%2 

RewriteCond %{REQUEST_FILENAME} /fsitemap([0-9]*) 
RewriteRule (.*) /sitemap.php?f=all

# Standart Domain definieren
RewriteCond %{HTTP_HOST} !^www\.schildkroetenforum\.net$
RewriteRule ^(.*)$ http://www.schildkroetenforum.net/$1 [L,R=301]

RewriteCond %{REQUEST_URI} ptopic,([0-9]*).htm*
RewriteRule ^(.*) relocate.php?p=%1\#%2  [L]

RewriteCond %{REQUEST_URI} ftopic,([0-9]*).htm*
RewriteRule ^(.*) relocate.php?t=%1\#%2  [L]

RewriteCond %{REQUEST_URI} forum,([0-9]*).htm*
RewriteRule ^(.*) relocate.php?f=%1  [L]
Und dann habe ich noch eine Datei mit dem Namen relocate.php hochgeladen:

Code: Alles auswählen

<?php
// Dateiname z.B. relocate.php
// Sollte nur ueber mod_rewrite aufgerufen werden
//
// Erwarteter Parameter als GET: p (ID des Posts) | t (ID des Topics) | f (ID des Forums)
//
// Autor: Aaron Spettl
// Datum: 05.09.2005


define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

$post_id = intval($_GET['p']);
$topic_id = intval($_GET['t']);
$forum_id = intval($_GET['f']);

function newloc($filename)
{
header('Status: 301 Permanently moved');
header('Location: '.$filename);
}

if ($post_id != "") {
newloc(append_sid('viewtopic.php?p='.$post_id));
}
else if ($topic_id != "") {
newloc(append_sid('viewtopic.php?t='.$topic_id));
}
else if ($forum_id != "") {
newloc(append_sid('viewforum.php?f='.$forum_id));
}
else
{
newloc('./');
}
?>
Ist da vielleicht irgendwo der Wurm drin?!?!

Grüße
Dominik

Verfasst: 26.05.2006 06:15
von IPB_Flüchtling
Ich schließe mich mal an die Hilfesuche an: Vorher lauteten die URLs in meinem Forum z.B. ftopic555.html.

Jetzt habe ich mgutts serverschonende Variante der Keyword-URLs eingebaut:

http://www.phpbb.de/viewtopic.php?t=116014

Wie schaffe ich es, mit Hilfe der relocate.php die alten ftopic-xxx-URLs zu den neuen, "schönen" Keyword-URLs, wie sie mgutt vorgestellt hat, umzuschreiben?

LG, IPB_Flüchtling

Verfasst: 26.05.2006 18:31
von mgutt