Zur Navigation

Redirect und 302 Weiterleitungen

leider hat mir bisher kein Thema hier im Forum geholfen!

1 Refaser

Hallo Jörg!

Erst einmal, klasse Forum hast du hier, ich konnte mir bei dir schon einige tolle Tipps holen!

Vorweg: Alles was ich so über PHP und HTML weiß, habe ich mir selbst beigebracht (ist nicht besonders viel im PHP Bereich). So nun aber zu meinem Problem.

Ich betreibe eine kleine Website (www.guildwars2online.de) und überwache diese unter anderem mit Webmaster Tools von Google. Mir ist jetzt aufgefallen, dass ich extrem viel Duplicate Content erstelle durch die Verweise die Joomla teilweise mit meinen Artiklen anstellt!

Bisher habe ich folgendes schon geändert:

- index.php wird nicht mehr in der URL angezeigt
- Rewrite von ohne www. auf mit www.
- Artikelnummern und andere Nummern sind aus der URL entfernt

Leider habe ich immernoch Probleme mit URL die in etwa so aussehen:

/index.php?option=com_content&view=article&id=155:let-s-play-smite&catid=31:lets-play-free2play&Itemid=251

Die werden doppelt von Google indexiert und mein 301 funktioniert dann nicht, auch nicht wenn ich einen direkten Rewrite von diesem Link zu den "eigentlichen" richtigen Link in der .htaccess setze. langsam verzweifel ich...

Die 301 Weiterleitungen überprüfe ich mit http://web-sniffer.net/, weil es direkt mir sagen kann nach einer Änderungen, ob es funktioniert.

Zur Hilfe hier noch eben meine .htaccess:

## Can be commented out if causes errors, see notes above.
Options +FollowSymLinks

## Mod_rewrite in use.

RewriteEngine On
########## Begin - Redirecting non-www request to www
#
RewriteEngine On

RewriteCond %{QUERY_STRING} ^option=com_content([^]+]+)$
RewriteRule ^index\.php$ /? [L,R=301]

RewriteCond %{HTTP_HOST} ^guildwars2online.de [NC]
RewriteRule (.*) http://www.guildwars2online.de/$1 [L,R=301]



RewriteCond %{QUERY_STRING} ^$
RewriteCond %{THE_REQUEST} /index\.php/free-2-play/rollenspiele
RewriteRule ^index\.php/free-2-play/rollenspiele http://www.guildwars2online.de/free-2-play/rollenspiele? [R=301,L]
RewriteCond %{THE_REQUEST} /index\.php/let-s-play
RewriteRule ^index\.php/let-s-play http://www.guildwars2online.de/let-s-play? [R=301,L]
RewriteCond %{THE_REQUEST} /index\.php/spiele-news
RewriteRule ^index\.php/spiele-news http://www.guildwars2online.de/spiele-news? [R=301,L]
RewriteCond %{THE_REQUEST} /index\.php/free-2-play
RewriteRule ^index\.php/free-2-play http://www.guildwars2online.de/free-2-play? [R=301,L]
RewriteCond %{THE_REQUEST} /index\.php
RewriteRule ^index\.php http://www.guildwars2online.de/? [R=301,L]

#
########## End - Redirecting non-www request to www

Alles andere in der Datei ist von mir unverändert gelassen. Den ersten Query String habe ich so gesetzt, wie in einem anderen Beitrag hier aber leider hat das nichts gebracht ....

Hoffe du kannst mir helfen!

Beste Grüße

Refaser

12.02.2013 13:58

2 Jörg Kruse

Das "([^]+]+)" ergibt keine rechten Sinn. Du könntest das Muster hinten auch einfach offen lassen:

RewriteCond %{QUERY_STRING} ^option=com_content

Falls es hierbei zu einer Endlosweiterleitung kommt, würde ich stattdessen die Variable THE_REQUEST prüfen:

RewriteCond %{THE_REQUEST} /index\.php\?option=com_content

12.02.2013 16:51

3 Refaser

Jörg vielen Dank für deine schnelle Antwort! Es hat mit der ersten Variante sofort geklappt und die Links werden jetzt auf die Hauptdomain weitegeleitet und mir wird von web-sniffer auch eine 301 Weiterleitung angegeben! Danke!

Und ich hoffe es ist nicht unverschämt aber vielleicht kannst du mir noch mit meinem letzten Problem helfen! Ich habe, wie schon erwähnt, ein wenig was an den URLs geändert damit diese SEO-Freundlicher und schöner sind. Dabei bin ich aber auf ein Problem gekommen: Google indexiert mir auch hier immer doppelten Content.

Als Bsp:
www.guildwars2online.de/index-php/free-2-play und www.guildwars2online.de/free-2-play

Ich habe jetzt eine Weiterleitung in der htaccess die alle meine /index.php/... Links auf meine Hauptseite bringt. Eigentlich würde ich aber gerne, dass alle Links die mit /index.php/... sind auf die eigentlichen neuen Seiten verlinkt werden. Also im Bsp oben, dass wer die alte URL mit index.php dazwischen eingibt, automatisch auf die ohne index.php kommt. Da ich schon sehr viele Seiten erstellt habe und es auch nicht immer für jede neue Seite machen möchte, frage ich mich ob du mir auch in diesem Punkt weiterhelfen kannst!

Vielen, vielen Dank und beste Grüße aus Hamburg!

12.02.2013 19:55

4 Jörg Kruse

Würde ich so probieren:

RewriteRule ^index\.php/(.+)$ http://www.guildwars2online.de/$1 [R=301,L]

12.02.2013 21:13

5 Refaser

Jörg, du bist der Beste! Funktioniert einwandfrei!

13.02.2013 09:15

Beitrag schreiben (als Gast)

Die Antwort wird nach der Überprüfung durch einen Moderator freigeschaltet.





[BBCode-Hilfe]