Seite 104 von 175

Verfasst: 05.08.2006 04:34
von mgutt
Wie ich bereits schonmal erwähnte ist die Session ein wichtiger Bestandteil von phpBB. Wenn ihr sie deaktiviert dann verhindert ihr, dass sich user einloggen können, die Statistik verfälscht, es werden mit jedem Klick neue Sessions generiert usw.

Das Ausschalten der SEO Urls für eingeloggte User ist daher ebenfalls ein Eigentor, weil eingeloggte User meist die sind, die eure Seite weiterempfehlen. Und diese empfehlen dann nicht umgeschrieben Urls weiter, die wiederrum für Google ausgeschlossen wurden. Soll heißen, der Backlink würde dann für eine Seite gelten, die gar nicht gelistet werden darf.

Ich habe mir schon so einige Gedanken um den Mod gemacht und nicht einfach so den Mod zusammengebastelt. Also sagt nicht, dass ich nichts gesagt hätte ;)

Gruß

Verfasst: 05.08.2006 16:05
von manica
mgutt hat geschrieben:
manica hat geschrieben:Wäre schön wenn Umlaute mit ae oe usw. umschrieben würden anstatt zu kürzen.
Werden Sie:
http://www.evop.de/aeoeue-aeoeue-umlaut-test-t176.html

Dies übernimmt in der sessions.php diese Zeile:

Code: Alles auswählen

			// special chars
			$char_search = array(  'Ö', 'Ä', 'Ü', 'ö', 'ä','à','é','è','í','ó', 'ü', 'ß',' ','.',',','"','&','<', '>',  '+','–','/','_',  '&');
			$char_replace = array('oe','ae','ue','oe','ae','a','e','e','i','o','ue','ss','-','-','-',      '',  'und',    '',     '','und','-','-','-','und');
Daran erkennst Du ganz gut welche Zeichen mit welchen ersetzt werden.

Gruß
Die Stelle habe ich schon gesehen. Bei mir wird z.b. aus Markenunabhängig markenunabhngig-f2.html
Wie man sieht fehlt das ae, aber warum?
Meine Vermutung war das in der htacces etwas fehlt.
die sieht so aus
<Files config.php>
Deny from all
</Files>

DirectoryIndex index.php index.html index.html

RewriteEngine On

# SEO URL [mgutt]
RewriteRule !\.html$ - [L]
RewriteRule ^phpBB2/[a-z0-9-]+-([pt])([0-9]+)\.html$ /phpBB2/viewtopic.php?$1=$2 [L]
RewriteRule ^phpBB2/[a-z0-9-]+-f([0-9]+)\.html$ /phpBB2/viewforum.php?f=$1 [L]
RewriteRule ^phpBB2/[a-z0-9-]+-u([0-9]+)\.html$ /phpBB2/profile.php?mode=viewprofile&u=$1 [L]
RewriteRule ^phpBB2/([a-zA-Z0-9_]+),([^/,]+),([^/,]*)([^/]*\.html)$ phpBB2/$1$4?$2=$3 [QSA,N]
RewriteRule ^phpBB2/[a-z0-9-]+-([pt])([0-9]+),([^/,]+),([^/,]*)([^/]*\.html)$ phpBB2/viewtopic$5?$1=$2&$3=$4 [QSA,N]
RewriteRule ^phpBB2/[a-z0-9-]+-f([0-9]+),([^/,]+),([^/,]*)([^/]*\.html)$ phpBB2/viewforum$4?f=$1&$2=$3 [QSA,N]
RewriteRule ^phpBB2/([a-zA-Z0-9_]+)\.html$ /phpBB2/$1.php [L]
Verstehe nicht warum alles umgesetzt wird aber die Umlaute einfach wegfallen. Vielleicht eine Server- oder Spracheinstellungeinstellung.

Verfasst: 05.08.2006 21:52
von dennist
fanrpg hat geschrieben:

if ( $userdata['session_logged_in'] )
{
$seo_active = false;
}
else
{
$seo_active = true;
}

kann sein, dass du bei den globalen variablen noch userdata hinzufügen musst
Ja muss man :wink:
:oops: Könnte bitte jemand schreiben, wie das dann aussehen würde bzw. was ich ändern muss. :oops:

Viele Grüße Dennis

Verfasst: 05.08.2006 23:20
von bazillus
dennist hat geschrieben::oops: Könnte bitte jemand schreiben, wie das dann aussehen würde bzw. was ich ändern muss. :oops:
Einbauen kannst Du es dann aber alleine? :P
ebenfalls in der sessions.php

Code: Alles auswählen

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

Verfasst: 06.08.2006 11:50
von manica
Geht trotzdem nicht. Warum sollte es auch an Userdata liegen. Wenn ich das richtig verstehe würde es nur richtig laufen wenn der User eingeloggt ist, oder?
Ist bei mir die Version 1.2.6

Mir ist gerade noch was aufgefallen. Wenn ich auf eine Kategorie Überschrift klicke wird ja diese kurze Übersicht der Boards aufgerufen. Da steht dann als URL nur /index,c,2.html

Ich denke wir haben unvollständigen code.
// 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 && strpos($url, ',p,') === false )
{
$seo_title = empty($seo_title) ? $topic_title : $seo_title;
$seo_base = 'viewtopic';
$seo_search = array($seo_base,'-,t,');
$seo_replace = array( '', '-t');
$seo_empty = 'topic';
Da fehlt das -c
Wird verlinkt durch index.php?c=2
Müßte die cat_title sein?

Verfasst: 06.08.2006 13:31
von mgutt
manica hat geschrieben:Geht trotzdem nicht. Warum sollte es auch an Userdata liegen. Wenn ich das richtig verstehe würde es nur richtig laufen wenn der User eingeloggt ist, oder?
Ist bei mir die Version 1.2.6

Mir ist gerade noch was aufgefallen. Wenn ich auf eine Kategorie Überschrift klicke wird ja diese kurze Übersicht der Boards aufgerufen. Da steht dann als URL nur /index,c,2.html

Ich denke wir haben unvollständigen code.
// 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 && strpos($url, ',p,') === false )
{
$seo_title = empty($seo_title) ? $topic_title : $seo_title;
$seo_base = 'viewtopic';
$seo_search = array($seo_base,'-,t,');
$seo_replace = array( '', '-t');
$seo_empty = 'topic';
Da fehlt das -c
Kategorien werden derzeit nicht umgeschrieben.
Meine Vermutung war das in der htacces etwas fehlt.
Du liegst mit Deiner Vermutung völlig falsch, weil die .htaccess nur nimmt, aber nichts filter, ersetzt oder sonstwas. Du kannst ihr auch Urls mit Sonderzeichen geben. Sie wandelt alles um, solange die Regel dafür existiert. Aber das löst das Problem nicht.

Kann es sein, dass die Umlaute aus Forennamen bei Dir nicht umgeschrieben werden, aber aus Topics? Welche Version der SEO Urls hast Du installiert?

Gruß

Verfasst: 06.08.2006 13:46
von manica
In den Topis werden die auch nicht umschrieben. Habe mal in deinem Hondaforum geschaut da werden die Kategorien umschrieben :D

Anscheinend bleibt es an der Session hängen.

Seo Url Version 1.2.6

Verfasst: 06.08.2006 14:14
von mgutt
Das Honda Forum hat einen anderen Mod eingebaut, basiert aber auf der gleichen Technik.

Vergleichen kann man das nur mit www.evop.de

Dort funktioniert aber auch alles.

Welche Version von phpBB hast Du installiert?

Hier nochmal die Codepassage mit kurzer Erklärung:

Code: Alles auswählen

		// special chars
			$char_search = array(  'Ö', 'Ä', 'Ü', 'ö', 'ä','à','é','è','í','ó', 'ü', 'ß',' ','.',',','"','&','<', '>',  '+','–','/','_',  '&');
			$char_replace = array('oe','ae','ue','oe','ae','a','e','e','i','o','ue','ss','-','-','-',      '',  'und',    '',     '','und','-','-','-','und');
			// generate url with title
			$seo_title = str_replace($char_search, $char_replace, strtolower($seo_title) . '-');
			// remove all other special chars
			$seo_title = preg_replace('#[^a-z0-9-]#', '', $seo_title);
"char_search" wird mit den Zeichen gefüllt, nach denen gesucht werden soll. "char_replace" wird mit den Zeichen gefüllt, mit denen ersetzt werden soll.

Danach werden diese beiden Arrays ersetzt mit "str_replace". Und zu letzt werden alle Sonderzeichen, die nicht umgeschrieben werden konnten, mit dem "preg_replace" gelöscht.

D.h. der "preg_replace" Teil geht bei Dir fehlerfrei. Und man kann davon ausgehen, dass er die Zeilen davor auch abgearbeitet hat. Was aber nicht geht ist das "Such und Find". Ich würde jetzt vermuten, dass bei Dir in der Datenbank die Zeichen nicht als "ä" abgespeichert wird, sondern vielleicht html-codiert. Das wäre aber kein Standard.

Hast Du eine MySQL-Datenbank oder eine andere Datenbank in Benutzung?

Kannst Du mit phpmyadmin in die Datenbank schauen und in der phpbb_topics Tabelle nachschauen, ob Sonderzeichen wirklich als "ä" gespeichert wurden? (Spalte topic_title) Alternativ kannst Du auch unter phpbb_forums schauen (Spalte forum_name)

Oder Du postest mal den Link zu Deinem Forum und ich schaue mal in den Quelltext, wie die Namen/Titel codiert sind.

Gruß

Verfasst: 06.08.2006 14:51
von manica
In der DB sind umlaute gespeichert also Ü Ä usw. Nicht htmlcode
Board ist das neuste eingedeutschte von dieser Seite hier, derzeit ohne andere Mods und mit Standard Style.
In der htmlausgabe (Quelltext) stehen teilweise htmlcodierte Umlaute drin.

Beispiel:

Code: Alles auswählen

td class="row1" width="100%"><span class="topictitle"><b>Ank&uuml;ndigungen:</b> <a href="einfhrung-t3.html" class="topictitle">Einführung</a></span><span class="gensmall"><br />
Welchen Mod setzt Du in deinem Board ein?

Verfasst: 06.08.2006 16:40
von manica
Forenübersicht wird im Quelltext so dargestellt

Code: Alles auswählen

Foren-&Uuml;bersicht
Da scheint was in der Ausgabe vom phpbb nicht zu stimmen.
Und das wird das Problem sein.

Habe Spaßeshalber in der Session noch was angehängt.

Code: Alles auswählen

 $char_search = array('Ö', 'Ä', 'Ü', 'ö', 'ä','à','é','è','í','ó', 'ü', 'ß',' ','.',',','"','&','<', '>',  '+','–','/','_',  '&','&uuml;');
                        $char_replace = array('oe','ae','ue','oe','ae','a','e','e','i','o','ue','ss','-','-','-',      '',  'und',    '',     '','und','-','-','-','und','ue');
Funktioniert erwartungsgemäß genausowenig.
Ich glaube der Mod ist mit der neuen deutschen Version nicht ganz kompatibel.