Seite 79 von 175

Verfasst: 04.07.2006 05:12
von IPB_Flüchtling
mgutt hat geschrieben:@ IPB_Flüchtling

wenn ich dich nicht hätte :oops:
Was soll denn dann ich erst sagen? :roll: :wink:
Installationsanleitung aus dem Downloadpaket im ersten Beitrag hat geschrieben:If your forum runs in the folder "phpBB2" (http://mydomain.com/phpBB2/index.php) you need to copy the files of the folder "phpBB_in_folder" to your root (http://mydomain.com/robots.txt).
Ganz genau so klappt es - und es hat den nicht zu unterschätzenden Vorteil, dass man die Rewrite-Regeln fürs Forum einfach in eine eventuell schon bestehende .htaccess integrieren kann. :P

Ja ja, Modrewrite ist schon lustig: Gestern habe ich entdeckt, dass larbin meinen kleinen Webkatalog auf phpLD-Basis von vorne bis hinten gecrawlt hat, obwohl ich den Bot in der Root-htaccess gesperrt habe. Zugriff hatte er, weil im Webkatalog-Ordner ebenfalls eine kleine .htaccess liegt, welche die Antibot-Regeln in der Root-htaccess haben unwirksam werden lassen:

Code: Alles auswählen

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l

RewriteRule ^Deutschland(.*) index.php
RewriteRule ^Oesterreich(.*) index.php
RewriteRule (.*)Seite(.*)\.html$ $1/?p=$2 [PT]
Du brauchst jetzt aber nicht glauben, dass es mir gelungen wäre, diese paar Zeilen erfolgreich in die Root-htaccess zu integrieren. :oops:

Wenn ich mal mehr Zeit, probiere ich es noch einmal - ansonsten wird es halt ein Fall für Bob (wenn er noch einmal hilft). :oops:

LG, IPB_Flüchtling

Verfasst: 04.07.2006 15:08
von Beagleman
Hmmm...

mit der aktuellen session.php bekomme ich jetzt aber Probleme.

Code: Alles auswählen

// Avoid double content on index page
		elseif ( $url == "index.$phpEx" )
		{
			return './';
		}
Ich habe nicht die Index-Seite, sondern eine Portal-Seite als Start-Seite. Durch obigen Code wird nun auch die Foren-Übersicht, also index.php, auf die Portal-Seite umgeleitet.

Ist obiger Code wirklich notwendig, um doppelten Content zu vermeiden?

Verfasst: 04.07.2006 16:42
von Malz
Was noch fehlen würde ist ein addon für den SimpleSub Forums Mod. Da die URL nicht bzw. falsch umgeschrieben/zugeordnet werden. :(

Verfasst: 04.07.2006 17:01
von fanrpg
Malz hat geschrieben:Was noch fehlen würde ist ein addon für den SimpleSub Forums Mod. Da die URL nicht bzw. falsch umgeschrieben/zugeordnet werden. :(
Ehm ja muss ich mal gucken wie ich das gemacht habe.. ich habe auch Simple Subforums und da wars schon ne Runde komplizierter das umuzuschreiben.

Auf jeden Fall die Funktion append_sid von mgutt mit dieser hier ersetzen:

Code: Alles auswählen

function append_sid($url, $non_html_amp = false, $forum = false, $topic = false)  // Seo Urls Anfang Version 1.1.7 
{ 
   global $SID, $phpEx, $topic_title, $forum_name; 
   if( !empty($forum) )
   {
	   $forum_name = $forum;
   }
   
   if( !empty($topic) )
   {
   	   $topic_title = $topic;
   }	   

	// 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;
	}
	if( ($url == "index.$phpEx" or $url == "index.html") && !eregi('sid=', $url))
	{
		$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 = '';
		}

		// Title is Array Fix: If topic or forum title is an array it is deleted. This is caused by some incompatibility of some false written mods
		if ( is_array($topic_title) )
		{
			$topic_title = '';
		}
		elseif ( is_array($forum_name) )
		{
			$forum_name = '';
		}

		// 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 url
		$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);
		// Double Comma Fix: If a comma is repeated directly after an other the second one is deleted. This is caused by some incompatibility of some false written mods
		$url = preg_replace("#([\,])+#", "\\1", $url);
		// End Comma Fix: If a comma is the last char in the url it is deleted. This is caused by some incompatibility of some false written mods
		$url = rtrim($url, ",");
		// Build 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);
			}
			// reduce hyphen to one
			$seo_title = preg_replace("#([\-])+#", "\\1", $seo_title);
			// replace empty title if necessary
			$url = $seo_title == '-' ? $seo_empty . $seo_title . $url : $seo_title . $url;
			// clean url
			$url = str_replace($seo_search, $seo_replace, $url);
		}
		// Hash Fix
		$url = $url . $hash;
	}
	if( $url == './index.html' or $url == 'index.html' )
	{
		$url = str_replace('index.html', '', $url);
	}	
	return $url;
} // Seo Urls End 1.1.7
Und den Rest suche ich dann noch zusammen :oops:

Verfasst: 04.07.2006 17:02
von mgutt
Beagleman hat geschrieben:Hmmm...

mit der aktuellen session.php bekomme ich jetzt aber Probleme.

Code: Alles auswählen

// Avoid double content on index page
		elseif ( $url == "index.$phpEx" )
		{
			return './';
		}
Ich habe nicht die Index-Seite, sondern eine Portal-Seite als Start-Seite. Durch obigen Code wird nun auch die Foren-Übersicht, also index.php, auf die Portal-Seite umgeleitet.

Ist obiger Code wirklich notwendig, um doppelten Content zu vermeiden?
in deinem fall bietet es sich an "portal" einzusetzen. es in dem prinzip einfach nur darum, dass die seiten:
domain.com/index.php
domain.com/
die gleichen Inhalte darstellen.

In Deinem speziellen Fall dürfte das dann gleich sein, nur dass portal.php anstatt index.php eingesetzt wurde.
Malz hat geschrieben:Was noch fehlen würde ist ein addon für den SimpleSub Forums Mod. Da die URL nicht bzw. falsch umgeschrieben/zugeordnet werden. :(
ignorier mal ganz fein den post von fanrpg.. (du hast eine alte version gepostet).

du musst folgendes machen:

mach mal in der index.php aus dem:

Code: Alles auswählen

append_sid ('viewforum.php?f=' . $value['forum_id'] ) 
das:

Code: Alles auswählen

append_sid('viewforum.php?f=' . $value['forum_id'], '', $value['forum_name']) 
in der viewforum.php suchen nach:

Code: Alles auswählen

$attach_forum_link = append_sid('viewforum.php?f=' . $value['forum_id']); 
ersetzen gegen:

Code: Alles auswählen

$attach_forum_link = append_sid('viewforum.php?f=' . $value['forum_id'], '', $value['forum_name']);


dann das:

Code: Alles auswählen

$attach_forum_name = '<a href="' . append_sid('viewforum.php?f=' . $value['forum_id']) . '">' . $value['forum_name'] . '</a>' ; 
gegen das ersetzen:

Code: Alles auswählen

$attach_forum_name = '<a href="' . append_sid('viewforum.php?f=' . $value['forum_id'], '', $value['forum_name']) . '">' . $value['forum_name'] . '</a>' ;
suche nach:

Code: Alles auswählen

'U_VIEW_FORUM' => append_sid("viewforum.$phpEx?" . POST_FORUM_URL ."=$forum_id"),
ersetze gegen:

Code: Alles auswählen

'U_VIEW_FORUM' => append_sid("viewforum.$phpEx?" . POST_FORUM_URL ."=$forum_id", '', $forum_row['forum_name']),
Das müsste es eigentlich gewesen sein.

Verfasst: 04.07.2006 20:45
von IPB_Flüchtling
Malz hat geschrieben:Was noch fehlen würde ist ein addon für den SimpleSub Forums Mod. Da die URL nicht bzw. falsch umgeschrieben/zugeordnet werden.
Ahoi Malz,

den Mod habe ich ja auch! :o Darf man fragen, wie sich die Fehler äußern? Bislang ist mir diesbezüglich eigentlich noch nichts aufgefallen...

Deine Antwort wäre sehr willkommen!
LG, IPB_Flüchtling

Verfasst: 04.07.2006 22:05
von Malz
Also

Klicke ich auf die Hauptkategorie "Pocketbikes" kommt:
http://grosshandelskaufleute.cnhost.de/ ... bd7d1a4a0d

Klicke ich auf eine der Beiden Sub Kategorien z.B. "Luftgekühlt" kommt:
http://grosshandelskaufleute.cnhost.de/ ... es-f3.html

Bei den Themen ist es dann wieder richtig!
--------------------------------------------------------------------------------------

Müsste doch normal sein das wenn ich auf Pocketbikes klicke das kommt:
http://grosshandelskaufleute.cnhost.de/ ... es-f*.html

Und bei "Luftgekühlt" sollte das kommen:
http://grosshandelskaufleute.cnhost.de/ ... lt-f*.html


grüße Malz

Verfasst: 04.07.2006 22:35
von IPB_Flüchtling
Ahoi Malz,

dieser Fehler tritt bei mir nicht auf... Bei mir wird alles schön umgeschrieben, so wie es sich gehört. Habe natürlich 2.0.21 und die neuesten Versionen des "Simple Subforums"-Mods (in Verbindung mit dem "Keep Unread Flags"-Mod) sowie von mgutts SEO-URLs-Mod.

Seltsam, seltsam...
LG, IPB_Flüchtling

Verfasst: 04.07.2006 22:39
von Malz
Hmmm :(

Nutze auch die Aktuellen Versionen von phpbb und dem Simple Subforum Mod nur den "Keep Unread Flags"-Mod habe ich nicht eingebaut.

Verfasst: 04.07.2006 22:53
von IPB_Flüchtling
Der Keep Unread Flags-Mod ist auch etwas ganz anderes - daran kann es eigentlich nicht liegen.

Ich verstehe es wirklich nicht, weshalb dieses Problem bei Dir auftritt. Du hast ja alle Veränderungen gemacht, die im Downloadpaket (siehe 1. Posting dieses Threads) beschrieben werden?!

Weshalb wird bei Dir bei diesen Foren eine Session-ID angehängt? Das dürfte nicht sein, wenn Du mgutts Änderungen befolgt hast/hättest! Soweit ich mgutts Mod verstanden habe, erfolgt kein URL-Rewriting, sobald eine Session-ID (sid=cc04a413921c44869eb45ebd7d1a4a0d) ins Spiel kommt.

Und nur um ein mögliches Missverständnis auszuräumen: Wir reden hier schon vom Simple Subforums-Mod und nicht vom Easy Subforums-Mod, oder?

Seltsam, seltsam...
LG, IPB_Flüchtling