Short URLs für phpBB2

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
thompson
Mitglied
Beiträge: 797
Registriert: 14.11.2002 14:04
Wohnort: irgendwo im süden
Kontaktdaten:

Beitrag von thompson »

frage:

funktionieren die short-urls noch, wenn ich in der htaccess die register_globals ausschalte ? (aus sicherheitsgründen)

und / oder wofür wird das ding denn genau benötigt ?
Benutzeravatar
Bonaparte
Mitglied
Beiträge: 308
Registriert: 07.12.2004 23:24
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Bonaparte »

Lokal ist bei mir "register_globals" ausgeschaltet und das Forum funktioniert einwandfrei.
Benutzeravatar
-=Fable=-
Mitglied
Beiträge: 491
Registriert: 16.09.2005 19:12
Wohnort: Nahe Lüneburg
Kontaktdaten:

Beitrag von -=Fable=- »

Seit neustem schmeißt google mein board ausm index und ich hab ka warum...Die Toplist im Verzeichnis /hitinc/ wird munter indexiert, aber das Verzeichnis /board/ gar nicht...Hab ich google iwie den Zutritt zum Board versperrt?

http://www.google.de/search?q=site%3Aww ... e:official

Vllt kann sich das ja mal n experte angucken :)
Besucht meine Page unter http://www.roqbar.de
Benutzeravatar
mgutt
Mitglied
Beiträge: 2999
Registriert: 31.08.2004 16:44
Wohnort: Hennef
Kontaktdaten:

Beitrag von mgutt »

Du hast alles auf Deine neue Domain verlinkt:
http://www.ff-inn.de/

Und da ist der Link: http://www.ff-inn.de/board/

Das ist jedenfalls so auf Deiner Startseite. Daher ist es normal, dass die Einträge alle erstmal neu archiviert werden müssen. Du musst Dich auf eine Domain festschießen und die pushen. Später kannst Du mit zwei verschiedenen Domains arbeiten.

Aber grundsätzlich würde ich die Links auf der Startseite nicht fest machen. Also nur "board/" in den href setzen.

Gruß
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Benutzeravatar
mgutt
Mitglied
Beiträge: 2999
Registriert: 31.08.2004 16:44
Wohnort: Hennef
Kontaktdaten:

Beitrag von mgutt »

Fable, Du hast zwar jetzt wieder die alte Domain aktiv. Aber die href's auf der Startseite sind immer noch auf die neue Domain. Nimm die Domain raus und verlinke dynamisch nur den Ordnernamen.

Gruß
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
ubex
Mitglied
Beiträge: 10
Registriert: 20.05.2006 10:59
Wohnort: Hamburg
Kontaktdaten:

Frage zu mit mod_rewrite angepassen SEO URLS

Beitrag von ubex »

Hallo,

ja, ich habe das Forum durchsucht, das vorab. Ich habe viel gefunden, das sich mit dem Thema beschäftigt, zu dem ich eine Frage habe, das auch vorab. Leider habe ich nichts gefunden, was 100%ig mein Problem beschreibt.

Ich habe ein kleines Forum auf die Beine gestellt:
www.zapptown-forum.de

Im Forum benutze ich eine übersichtliche Zahl von Mods unter anderem auch die Anpassung der URLs mit Hilfe einer .htaccess und den nötigen angepassten php Seiten.

Sonderzeichen habe ich zum Teil schon entfernen können mit Hilfe einiger Anleitungen und Hilfen hier.

Mein Problem/Frage ist, dass ein Beitrag mit Anführungszeichen/Sonderzeichen, diese nur in der Adresseingabezeile des Browsers falsch anzeigt. Die jeweiligen Links im Forum und auf den Seiten stimmten aber.

Hier ein Beispiel:
Beitrag heißt: Die Band "Change"
Link im Forum lautet: http://www.zapptown-forum.de/die-band-change-t112.html
Angezeigter Link im Browser (IE u. Moz.) nach Aufruf des Links ist aber:
http://www.zapptown-forum.de/die-band-- ... -t112.html

Woher in aller Welt kommen diese Umsetzungen des " in 'und-quot;' nach dem Aufruf der URL??

Kann mir da vielleicht jemand helfen?

htaccess
RewriteEngine On

rewriteBase /
RewriteRule index.html index.php [L,NC]

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]*)-([0-9]*)-s([0-9]*).html
RewriteRule (.*) /viewforum.php?f=%2&topicdays=%3&start=%4 [L]

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

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

RewriteCond %{REQUEST_FILENAME} /(.*)-t([0-9]*)-p([0-9]*)-([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-([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]
Ensprechender Teil in der sessions.php (ich denke, den braucht ihr zu einem Lösungsansatz auch)
function append_sid($url, $non_html_amp = false)
{
$url_search = array( 'Ö', 'Ä', 'Ü',
'ö', 'ä', 'à', 'é', 'è', 'ü', 'ß', '°', '²', '³',
'§', '$', '%', '=', '`', '´', '|', '€', 'µ', '~',
' ', '.', ',', "'", '"', '#','"', '&',
'+','>', '<', '!', '?','{','}','[', ']', '/',
'\\', ";", ")", "(", ':', '_', '*', '@', '^', '&',
'---', '--');
$url_replace = array('oe', 'ae', 'ue', 'oe',
'ae', 'a', 'e', 'e', 'ue','ss', '', '', '', '', '',
'', '', '', '', '', '', '', '', '-', '-', '', '', '',
'', '', 'und','und', '', '', '', '', '',
'', '', '', '-', '', '', '', '', '', '-', '', '', '','
und', '-', '-');

<<<<hier habe ich übrigens eben ein paar mal Enter gedrückt, damit das Board nicht so "breit" wird>>>>

global $SID,$HTTP_SERVER_VARS,$db,$board_config;
if( strstr($url,'viewtopic.php') && !strstr($url,'viewtopic.php?replace') )
{
if(ereg("#",$url)) {
$pos=strpos($url, "#");
$url_temp=substr($url,0,$pos);
$zusatz=substr($url,$pos,strlen($url));
$url=$url_temp;
}

//
// Post
//
if( preg_match('#viewtopic.php\?p=#', $url) ) {
$prg=str_replace("viewtopic.php?","",$url);
parse_str($prg, $prg_output);
$sql = "SELECT *
FROM " . POSTS_TABLE . "
WHERE post_id = '".$prg_output['p']."'";
if ($result = $db->sql_query($sql))
{
$row = $db->sql_fetchrow($result);
$prg_output['t'] = $row['topic_id'];
$sql = "SELECT *
FROM " . TOPICS_TABLE . "
WHERE topic_id = '".$prg_output['t']."'";
if ($result = $db->sql_query($sql))
{
$row = $db->sql_fetchrow($result);
$url1= urlencode(strtolower(str_replace($url_search, $url_replace, $row['topic_title'])));
}
$sql = "SELECT *
FROM " . POSTS_TABLE . "
WHERE post_id < '".$prg_output['p']."'
AND topic_id = '".$prg_output['t']."'";
if ($result = $db->sql_query($sql))
{
$c = $db->sql_numrows($result)+1;
if ($board_config['posts_per_page'] < $c)
$prg_output['start'] = floor(($c-1) / $board_config['posts_per_page']) * $board_config['posts_per_page'];
}
if (isset($prg_output['start']))
$url = preg_replace('#viewtopic.php\?p='.$prg_output['p'].'#','-t'.$prg_output['t'].'-'.$prg_output['start'].'.html',$url);
else
$url = preg_replace('#viewtopic.php\?p='.$prg_output['p'].'#','-t'.$prg_output['t'].'.html',$url);
unset($prg_output['p']);
}

$url=$board_config['script_path']."$url1$url";
}
}

//
// Topic
//
if ( preg_match('#viewtopic.php\?t=#', $url) ) {
$prg=str_replace("viewtopic.php?","",$url);
parse_str($prg, $prg_output);
$highlight = preg_match( '#highlight#', $url) || preg_match( '#vote#', $url) || preg_match( '#newest#', $url);
if (!$highlight) {
$sql = "SELECT topic_title
FROM " . TOPICS_TABLE . "
WHERE topic_id = '".$prg_output['t']."'";
if ( !($result = $db->sql_query($sql)) ) {
#message_die(GENERAL_ERROR, 'Could not obtain topic information', '', __LINE__, __FILE__, $sql);
}
if ( $row = $db->sql_fetchrow($result) ) {
$start= preg_match('#start=0#', $url);
$postdays = preg_match( '#postdays=0#', $url);
if ($start) {
$url = str_replace( 'viewtopic.php', '', $url );
$url = str_replace( 'start=0', '', $url );
}
if ($postdays) {
$url = str_replace( 'viewtopic.php', '', $url );
$url = str_replace( 'postdays=0', '', $url );
} else {
$url = str_replace( 'viewtopic.php', '', $url );
}
$url1 = strtr($url,array("&t="=>",","?t="=>"-t","&"=>"","amp;"=>"","asc"=>"","start="=>"-","postdays="=>"-p","postorder="=>""));
$url = urlencode(strtolower(str_replace($url_search, $url_replace, $row['topic_title'])));
$url .= $url1. ".html";
}
}
}

//
// Forum
//

if( strstr ($url, 'viewforum.php?f=') ) {
$prg=str_replace("viewforum.php?","",$url);
parse_str($prg, $prg_output);
$sql = "SELECT forum_name
FROM " . FORUMS_TABLE . "
WHERE forum_id = '".$prg_output['f']."'";
if ( !($result = $db->sql_query($sql)) ) {
#message_die(GENERAL_ERROR, 'Could not obtain forums information', '', __LINE__, __FILE__, $sql);
}
if ( $row = $db->sql_fetchrow($result) ){
$start= preg_match('#start=0#', $url);
$topicdays = preg_match( '#topicdays=0#', $url);
$mark = preg_match( '#mark#', $url);

if ($start) {
$url = str_replace( 'start=0', '', $url );
}
if ($topicdays) {
$url = str_replace( 'topicdays=0', '', $url );
}
if (!($mark)) {
$url = str_replace( 'viewforum.php', '', $url );
$url1 .= strtr($url,array("?f="=>"-f","amp;"=>"","&"=>"","start="=>"-s","topicdays="=>"-"));
$url = urlencode(strtolower(str_replace($url_search, $url_replace, $row['forum_name'])));
$url .= $url1. ".html";
}
}
}
if ( !empty($SID) && !preg_match('#sid=#', $url) )
{
$url .= ( ( strpos($url, '?') !== false ) ? ( ( $non_html_amp ) ? '&' : '&' ) : '?' ) . $SID;
}

return $url;
Vielen Dank schon mal im Voraus!

Gruß
Uwe
ubex
Mitglied
Beiträge: 10
Registriert: 20.05.2006 10:59
Wohnort: Hamburg
Kontaktdaten:

Beitrag von ubex »

Hat sich erledigt...

Lag an der page_header.php

Dort waren die Anführungsstriche offenbar nicht eingetragen. Auch ein manuelles Eintragen der Anführungsstriche in search und replace hat anfangs nichts gebracht.

Erst die Eintragung von "&quot" hats dann gebracht.

Gruß, Uwe
rene
Mitglied
Beiträge: 147
Registriert: 22.07.2003 14:27
Wohnort: Lampertheim
Kontaktdaten:

Beitrag von rene »

Mh hab jetzt mal 20 Seiten durchgeschaut aber nix gefunden.

Meine Frage:
Ich möchte statt.
http://www.mein-forum.de/forum/forum1.html

den Namen des Forums angezeigt bekommen.

z.B.
http://www.mein-forum.de/forum/forum-hilfe.html

Kann mir da jemand einen Tipp geben.
danke und gruß
Benutzeravatar
mgutt
Mitglied
Beiträge: 2999
Registriert: 31.08.2004 16:44
Wohnort: Hennef
Kontaktdaten:

Beitrag von mgutt »

@ ubex
falscher mod? ;)

EDIT: Da gibt es übrigens noch eine ganze Reihe an anderen Zeichen. Schau mal in meinen Mod. Die Zeilen kannst Du gerne übernehmen.

@ rene
2lucky, seo-phpbb oder meiner:
http://www.phpbb.de/viewtopic.php?t=116014

Gruß
Zuletzt geändert von mgutt am 29.05.2006 13:53, insgesamt 2-mal geändert.
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
rene
Mitglied
Beiträge: 147
Registriert: 22.07.2003 14:27
Wohnort: Lampertheim
Kontaktdaten:

Beitrag von rene »

mgutt hat geschrieben:@ ubex
falscher mod? ;)

@ rene
2lucky, seo-phpbb oder meiner:
http://www.phpbb.de/viewtopic.php?t=116014


Gruß
Vielen dank für die schnelle Antwort.

gruß zurück ;)
Antworten

Zurück zu „phpBB 2.0: Mods in Entwicklung“