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.
Kortirion
Mitglied
Beiträge: 485
Registriert: 03.05.2004 05:07
Wohnort: Kassel
Kontaktdaten:

Beitrag von Kortirion »

Hallo Stemmi,

in Deinem Forum unten bei "5 Letzte Themen" ist die URL jeweils um ein Thema verschoben, sprich Thema 2 hat die URL von Thema 1, Thema 3 von Thema 2 usw. ;)
...mehr über mich: www.kortirion.de oder www.schwarzer-humbug.de ...oder auch nicht...egal.
Neuestes Projekt: www.das-buchforum.de
Benutzeravatar
Stemmi
Mitglied
Beiträge: 258
Registriert: 06.07.2001 02:00
Kontaktdaten:

Beitrag von Stemmi »

Hi Kortirion!

Ja das ist seitdem ich diesen Mod hier eingebaut habe.

Es geht zwar der richtige Beitrag auf, wenn man darauf klickt, aber wenn man mit der Maus drüber fährt wird der falsche angezeigt.


Hab keinen Schimmer woran das liegt.

Hat jemand eine Idee?
Demnächst im Kino
"Brüder, in der Ewigkeit wird man sich eurer Taten erinnern! "
Benutzeravatar
BananaJoe
Mitglied
Beiträge: 127
Registriert: 18.03.2006 19:01

Beitrag von BananaJoe »

@Stemmi

Die Registrierung funktioniert bei dir nicht!
Benutzeravatar
Stemmi
Mitglied
Beiträge: 258
Registriert: 06.07.2001 02:00
Kontaktdaten:

Beitrag von Stemmi »

Ja das ist auch etwas, was seid dieser Änderung hier nicht mehr geht.

Jemand eine Idee woran das liegen kann?
Hab ja die alten Änderungen von larsneos Short Url und Reloadet in der htaccess drin gelassen wie mgutt das mir geraten hat.
Hab seine Version drüber eingetragen.

Irgendwie ist im Moment der Wurm drin.
Demnächst im Kino
"Brüder, in der Ewigkeit wird man sich eurer Taten erinnern! "
Kortirion
Mitglied
Beiträge: 485
Registriert: 03.05.2004 05:07
Wohnort: Kassel
Kontaktdaten:

Beitrag von Kortirion »

Ich kann zwar nicht sagen, ob das eine Fehlerursache ist, aber ich habe die alten rewriteconditions aus der .htaccess rausgenommen, da das bei mir nicht funktioniert hat.

Die ins leere laufenden URLs aus den Suchmaschinenindices leite ich solange auf die index.php um.
...mehr über mich: www.kortirion.de oder www.schwarzer-humbug.de ...oder auch nicht...egal.
Neuestes Projekt: www.das-buchforum.de
Benutzeravatar
Stemmi
Mitglied
Beiträge: 258
Registriert: 06.07.2001 02:00
Kontaktdaten:

Beitrag von Stemmi »

Das ist mir ehrlich gesagt zu riskant da bei mir über 30.000 Topics im Index stehen.


Gibts da keinen anderen Weg?


Edit: Oh ich sehe grade....die Topics aus dem Google Index gehen jetzt alle nicht mehr auf.

So sieht meine htaccess aus:
www.cineforen.de/ht.txt
Demnächst im Kino
"Brüder, in der Ewigkeit wird man sich eurer Taten erinnern! "
Kortirion
Mitglied
Beiträge: 485
Registriert: 03.05.2004 05:07
Wohnort: Kassel
Kontaktdaten:

Beitrag von Kortirion »

Japp...ebenfalls bei mir...Links aus dem Googleindex funktionieren da bei mir nicht. (Können sie ja auch nicht, nur mit den alten .htaccess-Einträgen, aber ohne die dazugehörigen Änderungen an den dateien).

Daher die Umleitung auf index.php. Ist zwar doof, aber da mgutts Mod bei mir Performancesteigerungen um 50% bewirkt und die DB-Queries halbiert, gehe ich das ein...;)
...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 »

Stemmi hat geschrieben:Das ist mir ehrlich gesagt zu riskant da bei mir über 30.000 Topics im Index stehen.


Gibts da keinen anderen Weg?


Edit: Oh ich sehe grade....die Topics aus dem Google Index gehen jetzt alle nicht mehr auf.

So sieht meine htaccess aus:
www.cineforen.de/ht.txt
www.cineforen.de/profile.php?mode=register

was geht denn nicht? bei mir funktioniert die registrierung :?

EDIT: Ich habe einen Link gefunden "Register.html". Welche Seite ist das normalerweise? (mit der .htacces ruft der dann automatisch "Register.php" auf.)

EDIT2: Ok, mach erstmal die Änderungen, die ich folgend geschrieben habe. Vielleicht hebt das das Problem auf.

in deiner .htaccess ist diese zeile überflüssig, da doppelt vorhanden:

Code: Alles auswählen

# extended rewriting only for .html [thx to Caterham] 
RewriteRule !\.html$ - [L]
bring diesen teil mal ans ende der .htaccess:

Code: Alles auswählen

# SEO URL [mgutt]
RewriteRule !\.html$ - [L]
RewriteRule ^[a-z0-9-]+-([pt])([0-9]+)\.html$ /viewtopic.php?$1=$2 [L]
RewriteRule ^[a-z0-9-]+-f([0-9]+)\.html$ /viewforum.php?f=$1 [L]
RewriteRule ^[a-z0-9-]+-u([0-9]+)\.html$ /profile.php?mode=viewprofile&u=$1 [L]
RewriteRule ^([a-zA-Z0-9_]+),([^/,]+),([^/,]*)([^/]*\.html)$ $1$4?$2=$3 [QSA,N]
RewriteRule ^[a-z0-9-]+-([pt])([0-9]+),([^/,]+),([^/,]*)([^/]*\.html)$ viewtopic$5?$1=$2&$3=$4 [QSA,N]
RewriteRule ^[a-z0-9-]+-f([0-9]+),([^/,]+),([^/,]*)([^/]*\.html)$ viewforum$4?f=$1&$2=$3 [QSA,N]
RewriteRule ^([a-zA-Z0-9_]+)\.html$ /$1.php [L]
und diese zeile (die 2.) ist auch doppelt und kann raus:

Code: Alles auswählen

RewriteEngine On
Ich bin mir gerade nicht sicher ob das klappt. Probier einfach mal.

EDIT: Was hast Du da beim Login gemacht?

Wenn man sich über die Startseite einloggt, wird einem das Passwort immer als falsch quittiert. Wenn man dann auf der nächsten Seite einen weiteren Versuch betreibt kommt man zum dritten Login, wo man dann wieder sein Passwort eingeben muss, aber diesmal plus einen visuellen Code. DREI Logins plus Visuell?!?
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Kortirion
Mitglied
Beiträge: 485
Registriert: 03.05.2004 05:07
Wohnort: Kassel
Kontaktdaten:

Beitrag von Kortirion »

Hallo mgutt,

erste Erfahrungen mit dem Produktivserver sind wirklich gut! Allerdings habe ich noch einen Fehler gefunden.

Durch das Rewriting geht die Navigation in smartors Album-Mod nicht mehr. Bei Kategorien mit mehreren Seiten Bildern liefert "Gehe zu Seite 1, 2, 3 Weiter" falsche URLs (404).

Die URL für Seite 2 wird z.B. wie folgt umgeschrieben: http://www.schwarzer-humbug.de/album_ca ... l,start,15

Der Parameter für die Übergabe des startpunktes für die Sortierung wird also hinter das .html gehängt...:(

Nah unserer kurzen OT-Unterhaltung hier hab ich das Album per weiterleitung für Ausgeloggte gesperrt, solltest Du Dir das ansehen wollen, müsstest Du Dich also kurz registrieren oder mir wg. eines Testzugangs Bescheid geben.

Gruß
Kortirion
...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 »

Ich registriere mich gerade. Du solltest aber aus den Textlinks "Ich möchte mich in diesem Forum registrieren" einen Button machen. Sonst geht er etwas unter. Nur als kleine Meldung ;).. suche dann mal....

EDIT: Ich habe gerade die Installation geprüft. Das Album ist falsch programmiert. Dort wird die Funktion "generate_pagination" aufgerufen wie folgt:

Code: Alles auswählen

		'PAGINATION' => generate_pagination(append_sid("album_cat.$phpEx?cat_id=$cat_id&sort_method=$sort_method&sort_order=$sort_order"), $total_pics, $pics_per_page, $start),
der Fehler ist, dass darin zusätzlich die Funktion "append_sid" aufgerufen wird. Diese nutze ich um die URLs umzuschreiben. Nach der Funktion "append_sid" werden aber noch Variablen an die Url angehangen. Unter anderem der Startparameter, der dann nach dem ".html" ankommt.

Vergleicht man nun diesen Code mit dem, der standardmäßig im phpBB verwendet wird (z.b. aus der memberlist.php) erkennt man den Unterschied:

Code: Alles auswählen

		$pagination = generate_pagination("memberlist.$phpEx?mode=$mode&order=$sort_order", $total_members, $board_config['topics_per_page'], $start). ' ';
Schauen wir uns dazu mal die Funktion "generate_pagination" an (includes/functions.php):

Code: Alles auswählen

function generate_pagination($base_url, $num_items, $per_page, $start_item, $add_prevnext_text = TRUE)
{
	global $lang;

	$total_pages = ceil($num_items/$per_page);

	if ( $total_pages == 1 )
	{
		return '';
	}

	$on_page = floor($start_item / $per_page) + 1;

	$page_string = '';
	if ( $total_pages > 10 )
	{
		$init_page_max = ( $total_pages > 3 ) ? 3 : $total_pages;

		for($i = 1; $i < $init_page_max + 1; $i++)
		{
			$page_string .= ( $i == $on_page ) ? '<b>' . $i . '</b>' : '<a href="' . append_sid($base_url . "&start=" . ( ( $i - 1 ) * $per_page ) ) . '">' . $i . '</a>';
			if ( $i <  $init_page_max )
			{
				$page_string .= ", ";
			}
		}

		if ( $total_pages > 3 )
		{
			if ( $on_page > 1  && $on_page < $total_pages )
			{
				$page_string .= ( $on_page > 5 ) ? ' ... ' : ', ';

				$init_page_min = ( $on_page > 4 ) ? $on_page : 5;
				$init_page_max = ( $on_page < $total_pages - 4 ) ? $on_page : $total_pages - 4;

				for($i = $init_page_min - 1; $i < $init_page_max + 2; $i++)
				{
					$page_string .= ($i == $on_page) ? '<b>' . $i . '</b>' : '<a href="' . append_sid($base_url . "&start=" . ( ( $i - 1 ) * $per_page ) ) . '">' . $i . '</a>';
					if ( $i <  $init_page_max + 1 )
					{
						$page_string .= ', ';
					}
				}

				$page_string .= ( $on_page < $total_pages - 4 ) ? ' ... ' : ', ';
			}
			else
			{
				$page_string .= ' ... ';
			}

			for($i = $total_pages - 2; $i < $total_pages + 1; $i++)
			{
				$page_string .= ( $i == $on_page ) ? '<b>' . $i . '</b>'  : '<a href="' . append_sid($base_url . "&start=" . ( ( $i - 1 ) * $per_page ) ) . '">' . $i . '</a>';
				if( $i <  $total_pages )
				{
					$page_string .= ", ";
				}
			}
		}
	}
	else
	{
		for($i = 1; $i < $total_pages + 1; $i++)
		{
			$page_string .= ( $i == $on_page ) ? '<b>' . $i . '</b>' : '<a href="' . append_sid($base_url . "&start=" . ( ( $i - 1 ) * $per_page ) ) . '">' . $i . '</a>';
			if ( $i <  $total_pages )
			{
				$page_string .= ', ';
			}
		}
	}

	if ( $add_prevnext_text )
	{
		if ( $on_page > 1 )
		{
			$page_string = ' <a href="' . append_sid($base_url . "&start=" . ( ( $on_page - 2 ) * $per_page ) ) . '">' . $lang['Previous'] . '</a>&nbsp;&nbsp;' . $page_string;
		}

		if ( $on_page < $total_pages )
		{
			$page_string .= '&nbsp;&nbsp;<a href="' . append_sid($base_url . "&start=" . ( $on_page * $per_page ) ) . '">' . $lang['Next'] . '</a>';
		}

	}

	$page_string = $lang['Goto_page'] . ' ' . $page_string;

	return $page_string;
}
Hier erkennt man nun, dass die Funktion "append_sid" bereits in der page_generation Funktion aufgerufen wird. Resultat: Die Funktion wird bei jeder URL des Albums, doppelt aufgerufen.

Ich werde das mal Smartor mitteilen. Grundsätzlich musst Du nur hingehen und die Funktion "append_sid" aus den "generate_pagination" Aufrufen des Albums entfernen.

Meine Suche hat ergeben, dass diese Änderung in den folgenden Dateien gemacht werden müssen (es kann sein, dass Du manche davon nicht hast, da ich auch die Categories Hierarchy für das Album installiert habe).

- album_cat.php
- album_modcp.php
- album_personal.php
- album_showpage.php
- album_mod/album_hierarchy_sql.php
- album_mod/album_memberlist.php

in der album_cat.php muss der Code dann z.b. so aussehen:

Code: Alles auswählen

'PAGINATION' => generate_pagination("album_cat.$phpEx?cat_id=$cat_id&sort_method=$sort_method&sort_order=$sort_order", $total_pics, $pics_per_page, $start),
Also Du musst das "append_sid(" und die schließende Klammer ) direkt nach dem Anführungszeichen " entfernen.
Zuletzt geändert von mgutt am 08.04.2006 17:17, 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
Antworten

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