Seite 19 von 131

Verfasst: 18.03.2004 06:50
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 ;-)

Verfasst: 18.03.2004 12:26
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

Verfasst: 19.03.2004 11:49
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

Verfasst: 19.03.2004 15:46
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

Verfasst: 19.03.2004 19:05
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

Verfasst: 19.03.2004 22:19
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

Verfasst: 20.03.2004 13:45
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/

Verfasst: 20.03.2004 13:59
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?

Verfasst: 20.03.2004 14:08
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

Verfasst: 20.03.2004 16:37
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...