SEO Urls V2

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
mgutt
Mitglied
Beiträge: 2999
Registriert: 31.08.2004 16:44
Wohnort: Hennef
Kontaktdaten:

Beitrag von mgutt »

Ich kann die Mods gerne einbauen, bin aber im Moment nicht davon überzeugt, dass es daher herrührt :-?

EDIT:
Bei Version 1.1. tritt es noch nicht auf
Meinst Du damit Version 1.1.2 aus dem Downloadpack?

Was ist denn mit dieser Version: Das ist meine neue Version 1.1.5 :D

Code: Alles auswählen

function append_sid($url, $non_html_amp = false, $seo_title = '')  // Seo Urls Begin Version 1.1.5
{
	global $SID, $phpEx, $topic_title, $forum_name;

	// if url contains a session we won't rewrite
	if ( !empty($SID) && !preg_match('#sid=#', $url) )
	{
		$url .= ( ( strpos($url, '?') !== false ) ?  ( ( $non_html_amp ) ? '&' : '&' ) : '?' ) . $SID;
		return $url;
	}

	//
	// USERSETTINGS BEGIN
	//

	// replace "true" with "false" to deactivate seo urls
	$seo_active = true;

	// Disallow rewritting for:
	// - specific url parms (f.e. 'mode=confirm', )
	// - files (f.e. "memberlist.$phpEx", )
	// - folders (f.e. 'includes/', )
	//
	$seo_forbidden = array(
		'login',
		'mode=confirm',
		'mark=topics',
		'view=',
	);

	//
	// USERSETTINGS END
	//

	// start rewritting if allowed
	if ( $seo_active )
	{
		foreach ( $seo_forbidden as $forbidden )
		{
			if ( $url == $forbidden || strpos($url, $forbidden) !== false )
			{
				$seo_active = false;
				break;
			}
		}
	}
	if ( !$seo_active || $url == './' )
	{
		return $url;
	}
	elseif ( $seo_active && !defined('IN_ADMIN') )
	{
		// Hash Fix: If hash is in the given URL it is seperated. This is caused by some incompatibility of some false written mods
		if (strpos($url, '#') !== false)
		{
			$hash = strstr($url, '#');
			$url = substr($url, 0, strpos($url, '#'));
		}
		else
		{
			$hash = '';
		}

		// Jumpbox Fix
		if ( strpos($url, 'viewforum') !== false && strpos($url, 'f=') === false )
		{
			return $url;
		}

		// Search Author's posts URL
		if ( strpos($url, 'search_author') !== false )
		{
			$author_name = substr(strrchr($url, 'search_author='), 14);
			if ( preg_match('#[^_a-zA-Z0-9-.]#', $author_name) )
			{
				return $url;
			}
		}

		// Rewrite Urls
		$url_amp = ( $non_html_amp ) ? '&' : '&';
		$url_parms = array( (strpos($url, 'highlight=') !== false && $url{strlen($url)-1} == '=' ? $url_amp . 'highlight=' : ''), $url_amp . 'start=0', $url_amp . 'postdays=0', $url_amp . 'postorder=asc', $url_amp . 'topicdays=0', ".$phpEx?", ".$phpEx", '=', '&', '&');
		$url_rparms = array(                                                                                                  '',                   '',                      '',                         '',                       '',        ',',   '.html', ',',     ',', ',');
		$url = str_replace($url_parms, $url_rparms, $url);
		$url = $url . ( strpos($url, '.html') !== false ? '' : '.html' );

		// Title to url - forums and topics need special settings
		if ( (!empty($forum_name) || !empty($seo_title) ) && strpos($url, 'viewforum') !== false )
		{
			$seo_title = empty($seo_title) ? $forum_name : $seo_title;
			$seo_base = 'viewforum';
			$seo_search = array($seo_base,'-,f,');
			$seo_replace = array(      '',  '-f');
			$seo_empty = 'forum';
		}
		elseif ( (!empty($topic_title) || !empty($seo_title) ) && strpos($url, 'viewtopic') !== false )
		{
			$seo_title = empty($seo_title) ? $topic_title : $seo_title;
			$seo_base = 'viewtopic';
			$seo_search = array($seo_base,'-,t,','-,p,');
			$seo_replace = array(      '',  '-t',  '-p');
			$seo_empty = 'topic';
		}

		// Title to url - replace special chars and build url
		if ( !empty($seo_base) && !empty($seo_title) && strpos($url, $seo_base) !== false )
		{
			// special chars
			$char_search = array(  'Ö', 'Ä', 'Ü', 'ö', 'ä','à','é','è','í', 'ü', 'ß',' ','.',',','"','&','<', '>',  '+','–','/','_',  '&','---','--');
			$char_replace = array('oe','ae','ue','oe','ae','a','e','e','i','ue','ss','-','-','-',      '',  'und',    '',     '','und','-','-','-','und',  '-', '-');
			// generate url with title
			$seo_title = str_replace($char_search, $char_replace, strtolower($seo_title) . '-');
			if ( preg_match('#[^a-z0-9-]#', $seo_title) )
			{
				$seo_title = preg_replace('/\W/', '', $seo_title) . '-';
			}
			$url = $seo_title == '-' ? $seo_empty . $seo_title . $url : $seo_title . $url;
			$url = str_replace($seo_search, $seo_replace, $url);
		}

		// Hash Fix
		$url = $url . $hash;
	}
	return $url;
} // Seo Urls End
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
heini
Mitglied
Beiträge: 50
Registriert: 07.11.2004 11:03
Wohnort: Wachtberg

Beitrag von heini »

mgutt hat geschrieben:@ heini
Der Mod ist in der neuesten Version. Die portal.php benötigt händische Änderungen. Mit etwas suchen findest Du diese auf den Vorseiten.
Also ich hab jetzt zwei Zeilen in der portal.php mit Änderungen aus
den "Vorseiten" ersetzt. Hat aber gar nix gebracht.

In diesem Thread verzweifle ich langsam. Selten sowas unübersichtliches
gesehen.

Selbst wenn man sich 63 (in Worten: DREIUNDSECHZIG) Seiten
durchliest, es gibt zu jedem Problem mehrere Versionen und
verschiedenen alte und neue Varianten. Wie soll ein Unbeteiligter
herausfinden, was nun aktuell zu tun ist?

Der Mod an sich ist prima. Aber es sollte unterbunden werden, mehr
als zehn Seiten darüber zu diskutieren. Könnte mir bitte jemand
sagen, welche Änderungen jetzt in der portal.php nötig sind, damit
die Beiträge aus der Liste der letzten 10 auch beim Mouseover die
richtigen Links angezeigt bekommen.

Ach so. Und wenn Coding gepostet wird. Bitte bitte schreibt dazu,
zu welcher Datei und Version das gehört! Ich habe mehrere Postings
gesehen, wo man sich mit Akribie aus den letzten zehn Postings
Anhaltspunkte zusammensuchen muß um zu ergründen, um welche
Datei es sich gerade dreht. Immer dran denken: Ein Aussenstehender
hat sonst keine Chance.

Ciao

Martin
Malz
Mitglied
Beiträge: 195
Registriert: 30.05.2006 22:26

Beitrag von Malz »

Ich habe noch ein kleines URL problem. :(

Code: Alles auswählen

Not Found
The requested URL /feedback,.html was not found on this server.

Apache/1.3.34 Server at grosshandelskaufleute.cnhost.de Port 80
Zuletzt geändert von Malz am 27.06.2006 01:50, insgesamt 2-mal geändert.
IPB_Flüchtling
Mitglied
Beiträge: 1862
Registriert: 23.12.2004 22:46

Beitrag von IPB_Flüchtling »

Ahoi mgutt,

Version 1.1.5 hat das Firefox-Problem beseitigt! Herzlichen Dank! :P

LG, IPB_Flüchtling
Benutzeravatar
mgutt
Mitglied
Beiträge: 2999
Registriert: 31.08.2004 16:44
Wohnort: Hennef
Kontaktdaten:

Beitrag von mgutt »

Malz hat geschrieben:Ich habe noch ein kleines URL problem. :(

Code: Alles auswählen

Not Found
The requested URL /feedback,.html was not found on this server.

Apache/1.3.34 Server at grosshandelskaufleute.cnhost.de Port 80
post mir bitte mal die datei wo die url "feedback" generiert wurde bzw. ist dieser link in deiner menüleiste? dann müsste der link in der page_header.php generiert werden. das interessiert mich jetzt :D

IPB_Flüchtling hat geschrieben:Ahoi mgutt,

Version 1.1.5 hat das Firefox-Problem beseitigt! Herzlichen Dank! :P

LG, IPB_Flüchtling
ich weiß zwar nicht warum... aber auch gut :D
heini hat geschrieben:In diesem Thread verzweifle ich langsam. Selten sowas unübersichtliches
gesehen.
Das bringt ein beliebter Mod nunmal mit sich. Und während der vielen Anfragen, konnte ich den Mod gleichzeitig so verbessern, dass manche Mods gar nicht mehr angepasst werden mussten. Aber wenn Modder einen Mod falsch schreiben und dadurch Kuddelmuddel entsteht, dafür kann ich leider nichts. Ich versuche dann nur zu helfen. Fehler fallen dann wie hier erst auf, wenn ein weitere Mod wie meiner in Kombination arbeitet. Und bedenke: Mein Mod muss mit jedem Mod arbeiten. Es gibt kaum einen Mod der ohne die Funktion append_sid() auskommt. Daher viel Arbeit, aber ich finde wir sind schon sehr weit gekommen. Vielleicht gibts dann auch mal ein offizielles Release :D
heini hat geschrieben:Selbst wenn man sich 63 (in Worten: DREIUNDSECHZIG) Seiten
wie wäre es mit dem:
http://www.maxrev.de/der-laengste-threa ... -t6311.htm
18.000 (in Worten: ACHTZEHNTAUSEND) :lol:
heini hat geschrieben:Könnte mir bitte jemand
sagen, welche Änderungen jetzt in der portal.php nötig sind, damit
die Beiträge aus der Liste der letzten 10 auch beim Mouseover die
richtigen Links angezeigt bekommen.
Poste mir mal bitte deine portal.php als .txt Datei. Ich werde dann eine Step-by-Step Anleitung posten und diese dann im 1. Beitrag verlinken.


EDIT: Version 1.1.5 ist jetzt im Download verfügbar (gleich wie im Posting zuvor)
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
darklordi
Mitglied
Beiträge: 323
Registriert: 13.12.2004 16:26
Wohnort: Langenfeld
Kontaktdaten:

Beitrag von darklordi »

vonwegen ADDON 3

Hier iss ja jetzt der selbe link wie innerhalb vom post. also mit "Topic(t)" statt post ..

Was muss ich in meiner index.php ändern damit dort auch nichtmehr post verwendet wird ?
Link zu meiner index.txt
Benutzeravatar
mgutt
Mitglied
Beiträge: 2999
Registriert: 31.08.2004 16:44
Wohnort: Hennef
Kontaktdaten:

Beitrag von mgutt »

darklordi hat geschrieben:vonwegen ADDON 3

Hier iss ja jetzt der selbe link wie innerhalb vom post. also mit "Topic(t)" statt post ..

Was muss ich in meiner index.php ändern damit dort auch nichtmehr post verwendet wird ?
Link zu meiner index.txt
Mit "hier" meintest Du die Foren-Übersicht und rechts den "letzten" Beitrag ja? Also auf der Seite:
http://leaver.de/phpBB2/index.html (du hattest das "Testforum" verlinkt).

Die Erweiterung füge ich noch hinzu. Das Problem ist, dass man dafür die Datenbank anpassen müsste und das wollte ich eigentlich vermeiden. (die post id wird im Forumtable gespeichert, als würde der Startwert für z.B. Seite 2 fehlen)

Aber mal eine Frage von mir. Wir hast Du es geschafft, dass der Titel keine Leerzeichen benutzt:
http://leaver.de/phpBB2/testmalschauenw ... t-t15.html

Jedenfalls sind da welche, aber es werden keine Bindestriche angezeigt?!

EDIT: Ok, ist ein minimaler Bug im Script. Werde ich mit der nächsten Version rausmachen.
Zuletzt geändert von mgutt am 27.06.2006 22:11, insgesamt 1-mal geändert.
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Malz
Mitglied
Beiträge: 195
Registriert: 30.05.2006 22:26

Beitrag von Malz »

Wäre nett wenn du mal gucken könntest.

Der volle Link lautet:

Code: Alles auswählen

http://grosshandelskaufleute.cnhost.de/feedback,.html
Hier sind die verlangten Dateien:
feedback_finalize.txt
feedback_functions.txt
page_header.txt

OffTopic:
@mgutt Wirst du eigentlich deinen Bot releasen?

OffTopic²:
Wenn ich meine Cam habe werde ich mal Bilder von unserem Honda Stream ins Forum Posten (Umbau auf Gas).

grüße malz
Kortirion
Mitglied
Beiträge: 485
Registriert: 03.05.2004 05:07
Wohnort: Kassel
Kontaktdaten:

Beitrag von Kortirion »

mgutt hat geschrieben:
darklordi hat geschrieben:vonwegen ADDON 3

Hier iss ja jetzt der selbe link wie innerhalb vom post. also mit "Topic(t)" statt post ..

Was muss ich in meiner index.php ändern damit dort auch nichtmehr post verwendet wird ?
Link zu meiner index.txt
Mit "hier" meintest Du die Foren-Übersicht und rechts den "letzten" Beitrag ja? Also auf der Seite:
http://leaver.de/phpBB2/index.html (du hattest das "Testforum" verlinkt).
Keine Queries sind zwar grade das schöne an Deiner Arbeit, aber wie ich weiter oben ja auch schon schrieb, wäre es doch nett, wenn man eine Lösung für "die letzten Beiträge" hätte. Zumindestens in der Form eines Addons...so kann ja jeder selbst entscheiden, ob es verwendet werden soll.
...mehr über mich: www.kortirion.de oder www.schwarzer-humbug.de ...oder auch nicht...egal.
Neuestes Projekt: www.das-buchforum.de
Benutzeravatar
mgutt
Mitglied
Beiträge: 2999
Registriert: 31.08.2004 16:44
Wohnort: Hennef
Kontaktdaten:

Beitrag von mgutt »

Malz hat geschrieben:Wäre nett wenn du mal gucken könntest.

Der volle Link lautet:

Code: Alles auswählen

http://grosshandelskaufleute.cnhost.de/feedback,.html
Hier sind die verlangten Dateien:
feedback_finalize.txt
feedback_functions.txt
page_header.txt

OffTopic:
@mgutt Wirst du eigentlich deinen Bot releasen?

OffTopic²:
Wenn ich meine Cam habe werde ich mal Bilder von unserem Honda Stream ins Forum Posten (Umbau auf Gas).

grüße malz
von welcher seite aus rufst du den link auf? index.php? also im menü oder von wo? ich kann nämlich in der page_header.php keinen fehler entdecken.
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Antworten

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