SEO Mod fehlerfrei ausbauen

Fragen rund um die Installation, Administration und Benutzung von phpBB.
Forumsregeln
Bitte im Thementitel den Präfix deiner phpBB-Version angeben
darkeyeX
Mitglied
Beiträge: 476
Registriert: 31.10.2004 14:40

Re: SEO Mod fehlerfrei ausbauen

Beitrag von darkeyeX »

Danke für den Hinweis. Das hat mich schonmal weiter gebracht. Beim Aufruf von domain.de/testforum/forum1.html wird jetzt weitergeleitet auf:
domain.de/testforum/viewforum.php?forum_uri=forum1
richtig aber wäre: domain.de/testforum/viewforum.php?f=1

Und beim Aufruf von domain.de/testforum/topic95.html wird weitergeleitet auf:
domain.de/testforum/viewtopic.php?forum_uri=testforum&t=95&start=
richtig aber wäre: domain.de/testforum/viewtopic.php?f=5&t=95

Da scheint wohl einiges falsch zu sein in der htaccess. Muss sagen, dass ich in der hataccess zuvor "forum" mit "testforum" ersetzt habe. Das Originalforum befindet sich im Ordner "Forum" und habe es testweise in "Testforum" kopiert. Vielleicht liegt hier der Fehler?

Hier ist nochmal die htaccess welche im Root liegt (Forum befindet sich im Ordner "testforum"):

Code: Alles auswählen



# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

<IfModule mod_rewrite.c>
RewriteEngine on

#
# Uncomment the statement below if you want to make use of
# HTTP authentication and it does not already work.
# This could be required if you are for example using PHP via Apache CGI.
#
#RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]


#
# If symbolic links are not already being followed,
# uncomment the line below.
# http://anothersysadmin.wordpress.com/2008/06/10/mod_rewrite-forbidden-403-with-apache-228/
#
#Options +FollowSymLinks
</IfModule>

# With Apache 2.4 the "Order, Deny" syntax has been deprecated and moved from
# module mod_authz_host to a new module called mod_access_compat (which may be
# disabled) and a new "Require" syntax has been introduced to mod_authz_host.
# We could just conditionally provide both versions, but unfortunately Apache
# does not explicitly tell us its version if the module mod_version is not
# available. In this case, we check for the availability of module
# mod_authz_core (which should be on 2.4 or higher only) as a best guess.
<IfModule mod_version.c>
	<IfVersion < 2.4>
		<Files "config.php">
			Order Allow,Deny
			Deny from All
		</Files>
		<Files "common.php">
			Order Allow,Deny
			Deny from All
		</Files>
	</IfVersion>
	<IfVersion >= 2.4>
		<Files "config.php">
			Require all denied
		</Files>
		<Files "common.php">
			Require all denied
		</Files>
	</IfVersion>
</IfModule>
<IfModule !mod_version.c>
	<IfModule !mod_authz_core.c>
		<Files "config.php">
			Order Allow,Deny
			Deny from All
		</Files>
		<Files "common.php">
			Order Allow,Deny
			Deny from All
		</Files>
	</IfModule>
	<IfModule mod_authz_core.c>
		<Files "config.php">
			Require all denied
		</Files>
		<Files "common.php">
			Require all denied
		</Files>
	</IfModule>
</IfModule>





######### test alte urls umschreiben
 # You may need to un-comment the following lines
    # Options +FollowSymlinks
    # To make sure that rewritten dir or file (/|.html) will not load dir.php in case it exist
    # Options -MultiViews
    # REMEBER YOU ONLY NEED TO STARD MOD REWRITE ONCE
    RewriteEngine On
    # Uncomment the statement below if you want to make use of
    # HTTP authentication and it does not already work.
    # This could be required if you are for example using PHP via Apache CGI.
    # RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
    # REWRITE BASE
    RewriteBase /testforum/
    # HERE IS A GOOD PLACE TO FORCE CANONICAL DOMAIN
    # RewriteCond %{HTTP_HOST} !^www\.domain\.de$ [NC]
    # RewriteRule ^(.*)$ http://www.domain.de/testforum/$1 [QSA,L,R=301,R=301]

    # DO NOT GO FURTHER IF THE REQUESTED FILE / DIR DOES EXISTS
    RewriteCond %{REQUEST_FILENAME} -f
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule . - [L,R=301]
    #####################################################
    # PHPBB SEO REWRITE RULES ALL MODES
    #####################################################
    # AUTHOR : dcz www.phpbb-seo.com
    # STARTED : 01/2006
    #################################
    # FORUMS PAGES
    ###############
    # FORUM INDEX REWRITERULE WOULD STAND HERE IF USED. "forum" REQUIRES TO BE SET AS FORUM INDEX
    # RewriteRule ^forum\.html$ index.php [QSA,L,R=301,R=301,NC]
    # FORUM ALL MODES
    RewriteRule ^(forum|[a-z0-9_-]*-f)([0-9]+)(-([0-9]+))?\.html$ viewforum.php?f=$2&start=$4 [QSA,L,R=301,R=301,NC]
    # TOPIC WITH VIRTUAL FOLDER ALL MODES
    RewriteRule ^(forum|[a-z0-9_-]*-f)([0-9]+)/(topic|[a-z0-9_-]*-t)([0-9]+)(-([0-9]+))?\.html$ viewtopic.php?f=$2&t=$4&start=$6 [QSA,L,R=301,NC]
    # TOPIC WITHOUT FORUM ID & DELIM ALL MODES
    RewriteRule ^([a-z0-9_-]*)/?(topic|[a-z0-9_-]*-t)([0-9]+)(-([0-9]+))?\.html$ viewtopic.php?forum_uri=$1&t=$3&start=$5 [QSA,L,R=301,NC]
    # PHPBB FILES ALL MODES
    RewriteRule ^resources/[a-z0-9_-]+/(thumb/)?([0-9]+)$ download/file.php?id=$2&t=$1 [QSA,L,R=301,NC]
    # PROFILES ALL MODES WITH ID
    RewriteRule ^(member|[a-z0-9_-]*-u)([0-9]+)\.html$ memberlist.php?mode=viewprofile&u=$2 [QSA,L,R=301,NC]
    # USER MESSAGES ALL MODES WITH ID
    RewriteRule ^(member|[a-z0-9_-]*-u)([0-9]+)-(topics|posts)(-([0-9]+))?\.html$ search.php?author_id=$2&sr=$3&start=$5 [QSA,L,R=301,NC]
    # GROUPS ALL MODES
    RewriteRule ^(group|[a-z0-9_-]*-g)([0-9]+)(-([0-9]+))?\.html$ memberlist.php?mode=group&g=$2&start=$4 [QSA,L,R=301,NC]
    # POST
    RewriteRule ^post([0-9]+)\.html$ viewtopic.php?p=$1 [QSA,L,R=301,NC]
    # ACTIVE TOPICS
    RewriteRule ^active-topics(-([0-9]+))?\.html$ search.php?search_id=active_topics&start=$2&sr=topics [QSA,L,R=301,NC]
    # UNANSWERED TOPICS
    RewriteRule ^unanswered(-([0-9]+))?\.html$ search.php?search_id=unanswered&start=$2&sr=topics [QSA,L,R=301,NC]
    # NEW POSTS
    RewriteRule ^newposts(-([0-9]+))?\.html$ search.php?search_id=newposts&start=$2&sr=topics [QSA,L,R=301,NC]
    # UNREAD POSTS
    RewriteRule ^unreadposts(-([0-9]+))?\.html$ search.php?search_id=unreadposts&start=$2 [QSA,L,R=301,NC]
    # THE TEAM
    RewriteRule ^the-team\.html$ memberlist.php?mode=leaders [QSA,L,R=301,NC]
    # HERE IS A GOOD PLACE TO ADD OTHER PHPBB RELATED REWRITERULES


    # FORUM WITHOUT ID & DELIM ALL MODES
    # THESE FOUR LINES MUST BE LOCATED AT THE END OF YOUR HTACCESS TO WORK PROPERLY
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^([a-z0-9_-]+)(-([0-9]+))\.html$ viewforum.php?forum_uri=$1&start=$3 [QSA,L,R=301,NC]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^([a-z0-9_-]+)\.html$ viewforum.php?forum_uri=$1 [QSA,L,R=301,NC]
    # FIX RELATIVE PATHS : FILES
    RewriteRule ^.+/(style\.php|ucp\.php|mcp\.php|faq\.php|download/file.php)$ $1 [QSA,L,R=301,NC,R=301]
    # FIX RELATIVE PATHS : IMAGES
    RewriteRule ^.+/(styles/.*|images/.*)/$ $1 [QSA,L,R=301,NC,R=301]
    # END PHPBB PAGES
    #####################################################

	
	
	
#
# The following 3 lines will rewrite URLs passed through the front controller
# to not require app.php in the actual URL. In other words, a controller is
# by default accessed at /app.php/my/controller, but can also be accessed at
# /my/controller
#
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ app.php [QSA,L]

Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Re: SEO Mod fehlerfrei ausbauen

Beitrag von gn#36 »

Ehrlich gesagt weiß ich ein wenig zu wenig über die verschiedenen URLs die da umgeschrieben werden müssen um dein Problem wirklich sauber lösen zu können. Die htacess sieht für mich so aus, als würden die Foren als Ordner benutzt und dann die Themen darin liegen, aber auch irgendwie nicht immer.

Ich probier's dennoch mal mit einer Lösung:
  • Du leitest alles, was nicht mit www. startet auf das Forum um, dabei wird der alte Query String angehängt, aber es wird nicht geprüft ob der Pfad zum Forum vielleicht schon drin ist, ich denke das könnte zu einigen Weiterleitungen auf http://www.domain.de/testforum/testforum/* führen.
  • Du hast einfach komplett falsche Rewrites drin. Der Parameter forum_uri existiert meines wissens z.B. nicht. Vermutlich wurde der von dem Mod benutzt, um die relativen Pfade zu Bildern o.ä. zu korrigieren. Aber da du jetzt weiterleitest brauchst du das nicht mehr. Beispielsweise sollte

    Code: Alles auswählen

    domain.de/testforum/topic95.html 
    von dieser Regel erfasst werden:

    Code: Alles auswählen

    RewriteRule ^([a-z0-9_-]*)/?(topic|[a-z0-9_-]*-t)([0-9]+)(-([0-9]+))?\.html$ viewtopic.php?forum_uri=$1&t=$3&start=$5 [QSA,L,R=301,NC]
    Die Weiterleitung mit f=xyz kann aus dieser URL nicht bestimmt werden, weil die Forum ID unbekannt ist. Den Teil mit der forum_uri kannst du dir aber sparen. Wenn du die Regel aufteilst in zwei Regeln (einmal mit dem Minus für die Startseite, einmal ohne), dann kannst du auch das &start= am Ende loswerden. Analog würdest du bei den ähnlichen Regeln vorgehen.
  • Die URL domain.de/testforum/forum1.html sollte von folgender Regel erfasst werden:

    Code: Alles auswählen

     RewriteRule ^(forum|[a-z0-9_-]*-f)([0-9]+)(-([0-9]+))?\.html$ viewforum.php?f=$2&start=$4 [QSA,L,R=301,R=301,NC]
    Soweit ich das beurteilen kann sollte diese Weiterleitung richtig sein, abgesehen davon, dass du 2x R=301 drin stehen hast, was möglicherweise zu dem Fehler führt.
    Stattdessen kommt aber offenbar folgende Regel zum Tragen:

    Code: Alles auswählen

     RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^([a-z0-9_-]+)(-([0-9]+))\.html$ viewforum.php?forum_uri=$1&start=$3 [QSA,L,R=301,NC]
    Hier hat der Mod offenbar aus dem Text versucht das korrekte Forum zu bestimmen. Solltest du derartige URLs haben wird dir gar nichts anderes übrig bleiben, als irgendwas SEO artiges wieder einzubauen, das dir den richtigen Link aus diesen Dingen bestimmt, denn per mod Rewrite geht das in dem Fall nicht.
Ich hoffe das hilft dir weiter.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Antworten

Zurück zu „Support-Forum“