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.
Benutzeravatar
larsneo
Mitglied
Beiträge: 2622
Registriert: 07.03.2002 15:23
Wohnort: schwäbisch gmünd
Kontaktdaten:

Beitrag von larsneo »

zielsetzung bei dem mod war nicht, möglichst viele urls auf 'statisches' aussehen umzuschreiben, sondern lediglich die wichtigsten. dies wirkt auch einer doppelerfassung durch die spider/robots entgegen ;-)
gruesse aus dem wilden sueden
larsneo
..::[krapohl.net]::..
KoSSo
Mitglied
Beiträge: 170
Registriert: 21.11.2002 22:24

Beitrag von KoSSo »

hi,

ist es möglich das auch die Links zu den Beiträgen/Zum letzten Beitrag umgeschrieben werden also z.b. statt viewtopic.php?p=276247#276247 ptopic276247.html#276247 ?

Grüße KoSSo
Jason

Beitrag von Jason »

hi,

ich habe die Short URLs in mein Board eingebaut aber leider scheint es ein kleines Problem zu geben mit dem Categories Hierarchy Mod, die Navigation, die in der Themenansicht (viewforum.php) angezeigt wird
Beispiel hat geschrieben:phpBB.de Foren-Übersicht -> Modifikationen
verlinkt nicht wie z.b. hier auf phpbb.de zu forumx.html sondern zu viewforum.php?f=x dasselbe in der Beitragsansicht (viewtopic.php).

Diese funktion ist beim Categories Hierarchy Mod für das generieren der Navigation zuständig:

Code: Alles auswählen

function make_cat_nav_tree($cur, $pgm='', $nav_class='nav', $topic_title='', $forum_id=0)
{
	global $phpbb_root_path, $phpEx, $db;
	global $global_orig_word, $global_replacement_word;
	global $nav_separator;
	global $tree;

	// get topic or post level
	$type = substr($cur, 0, 1);
	$id = intval(substr($cur,1));
	$fcur = '';
	switch ($type)
	{
		case POST_TOPIC_URL:
			if ( empty($forum_id) || empty($topic_title) )
			{
				$sql = "SELECT forum_id, topic_title
							FROM " . TOPICS_TABLE . " WHERE topic_id = $id";
				if ( !$result = $db->sql_query($sql) )
				{
					message_die(GENERAL_ERROR, 'Could not query topics information', '', __LINE__, __FILE__, $sql);
				}
				if ( $row = $db->sql_fetchrow($result) )
				{
					$topic_title = $row['topic_title'];
					$forum_id = $row['forum_id'];
				}
			}
			else
			{
				$row = array();
				$row['topic_title'] = $topic_title;
				$row['forum_id'] = $forum_id;
			}
			if ( !empty($forum_id) )
			{
				$fcur = POST_FORUM_URL . $row['forum_id'];
				$topic_title = $row['topic_title'];
				$orig_word = array();
				$remplacement_word = array();
				obtain_word_list($orig_word, $replacement_word);
				if ( count($orig_word) )
				{
					$topic_title = preg_replace($orig_word, $replacement_word, $topic_title);
				}
			}
			break;
		case POST_POST_URL:
			if ( empty($forum_id) || empty($topic_title) )
			{
				$sql = "SELECT t.forum_id, t.topic_title
							FROM " . POSTS_TABLE . " p, " . TOPICS_TABLE . " t
							WHERE t.topic_id=p.topic_id AND post_id = $id";
				if ( !($result = $db->sql_query($sql)) ) message_die(GENERAL_ERROR, 'Could not query posts information', '', __LINE__, __FILE__, $sql);
				if ( !$row = $db->sql_fetchrow($result) )
				{
					$row['forum_id'] = 0;
					$row['topic_title'] = '';
				}
			}
			else
			{
				$row['forum_id'] = $forum_id;
				$row['topic_title'] = $topic_title;
			}
			if ( !empty($forum_id) && !empty($topic_title) )
			{
				$fcur = POST_FORUM_URL . $row['forum_id'];
				$topic_title = $row['topic_title'];
				$orig_word = array();
				$remplacement_word = array();
				obtain_word_list($orig_word, $replacement_word);
				if ( count($orig_word) )
				{
					$topic_title = preg_replace($orig_word, $replacement_word, $topic_title);
				}
			}
			break;
	}

	// keep the compliancy with prec versions
	if (!isset($tree['keys'][$cur]))
	{
		$cur = isset($tree['keys'][POST_CAT_URL . $cur]) ? POST_CAT_URL . $cur : $cur;
	}

	// find the object
	$this = isset($tree['keys'][$cur]) ? $tree['keys'][$cur] : -1;

	$res = '';
	while (($this >= 0) || ($fcur != ''))
	{
		$type = (substr($fcur, 0, 1) != '') ? substr($cur, 0, 1) : $tree['type'][$this];
		switch($type)
		{
			case POST_CAT_URL:
				$field_name		= get_object_lang($cur, 'name');
				$param_type		= POST_CAT_URL;
				$param_value	= $tree['id'][$this];
				$pgm_name		= "index.$phpEx";
				break;
			case POST_FORUM_URL:
				$field_name		= get_object_lang($cur, 'name');
				$param_type		= POST_FORUM_URL;
				$param_value	= $tree['id'][$this];
				$pgm_name		= "viewforum.$phpEx";
				break;
			case POST_TOPIC_URL:
				$field_name		= $topic_title;
				$param_type		= POST_TOPIC_URL;
				$param_value	= $id;
				$pgm_name		= "viewtopic.$phpEx";
				break;
			case POST_POST_URL:
				$field_name		= $topic_title;
				$param_type		= POST_POST_URL;
				$param_value	= $id . '#' . $id;
				$pgm_name		= "viewtopic.$phpEx";
				break;
			default :
				$field_name		= '';
				$param_type		= '';
				$param_value	= '';
				$pgm_name		= "index.$phpEx";
				break;
		}
		if ($pgm != '') $pgm_name = "$pgm.$phpEx";

		if (!empty($field_name)) $res = '<a href="' . append_sid('./' . $pgm_name . (($field_name != '') ? "?$param_type=$param_value" : '')) . '" class="' . $nav_class . '">' . $field_name . '</a>' . (($res != '') ? $nav_separator . $res : '');

		// find parent object
		if ($fcur != '')
		{
			$cur	= $fcur;
			$pgm	= '';
			$fcur	= '';
			$topic_title = '';
		}
		else
		{
			$cur = $tree['main'][$this];
		}
		$this = isset($tree['keys'][$cur]) ? $tree['keys'][$cur] : -1;
	}

	return $res;
}
Wie kann man den Mod mit dem Categories Hierarchy Kompatibel machen?

Grüße Jason
Jason

Beitrag von Jason »

Mein Problem hat sich erledigt, es war eine Änderung an der functions_categories_hierarchy.php notwendig damit die beiden Mods zusammen funzen.

Grüße Jason
Jenny19
Mitglied
Beiträge: 4
Registriert: 06.04.2002 23:53

Beitrag von Jenny19 »

hi,

wie bekomme ich es hin das aufruf meiner Domain (http://www.domain.de) direkt die forums.html aufgerufen wird?

Ich habe es schon mit einer htaccess probiert mit folgendem inhalt:
Directoryindex forums.html
aber so funktioniert das nicht da die datei ja erst durch die htaccess auch über forums.html aufgerufen werden kann.

Jemand ne idee wie man das hinbekommen kann?

Grüße Jenny
tomybo
Mitglied
Beiträge: 31
Registriert: 09.03.2004 23:33
Wohnort: Geldersheim
Kontaktdaten:

Beitrag von tomybo »

@ larsneo,
ich habe jetzt mein Forum unter http://www.kfz- auskunft.de/autoforum/forums.html eingerichtet, es funktioniert auch besten.

Du hast folgendes geschrieben:
die meta-weiterleitung sollte optimalerweise nach /phpbb/forums.html zeigen (so habe ich es auch bei nuforum.de gelöst) - dann sind die statischen links durchgängig...
Ich glaube, das Google meine einzelnen Foren nicht findet, wo und wie soll ich durchgängige Links machen. Meine Seite hat nämlich seit dem letzten PR Update PR 6, dadurch müssten die Beiträge ja ruck zuck im Index sein. Wenn du mir einen Tipp geben könntest wäre ich sehr dankbar.

Gruß tomybo
Benutzeravatar
larsneo
Mitglied
Beiträge: 2622
Registriert: 07.03.2002 15:23
Wohnort: schwäbisch gmünd
Kontaktdaten:

Beitrag von larsneo »

ich denke einmal, dass problem bei http://www.kfz-auskunft.de liegt an der vielzahl an links auf der introseite - 152 links könnten google dazu veranlassen, die seite als doorwaypage einzustufen und entsprechend abzustrafen - ist aber nur eine vermutung...
siehe auch http://tools.summitmedia.co.uk/spider/
gruesse aus dem wilden sueden
larsneo
..::[krapohl.net]::..
tomybo
Mitglied
Beiträge: 31
Registriert: 09.03.2004 23:33
Wohnort: Geldersheim
Kontaktdaten:

Beitrag von tomybo »

Hi larsneo,

das kann ich mir eigentlich nicht vorstellen, da eine Indexseite eines Portals nun mal sehr viele Links hat. Wenn das so wäre, hätte meine Seite keinen PR +1 seit dem letzten Update bekommen. :grin:

Ich habe jetzt in meinem Inhaltsverzeichnis, Links zu den einzelnen Foren eingebaut. Ist das OK oder kann ich noch was Gutes für Google tun?
heinzisoft
Mitglied
Beiträge: 55
Registriert: 05.03.2004 20:26

Beitrag von heinzisoft »

Ist es auch irgendwie möglich, zu überprüfen, ob der Server das unterstützt, ohne gleich das Forum umzuprogrammieren (kaputtzuprogrammieren, wenn es der Server nicht unterstützt)?

thx schonmal, heinzisoft
Benutzeravatar
larsneo
Mitglied
Beiträge: 2622
Registriert: 07.03.2002 15:23
Wohnort: schwäbisch gmünd
Kontaktdaten:

Beitrag von larsneo »

lade einfach wie in der anleitung beschrieben die .htaccess auf deinen webspace und probiere manuell aus, ob der server bei anfragen nach 'kurzen' urls die korrekten langen urls ausliefert.
Nachdem die .htaccess in das Webroot kopiert wurde, kann man via direkter URL-Eingabe testen, ob die kurzen URLs unterstützt werden. Wenn also bei Eingabe von 'forum1.html' das erste Forum angezeigt wird, kann es mit den nächsten Schritten weitergehen...
gruesse aus dem wilden sueden
larsneo
..::[krapohl.net]::..
Antworten

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