Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

duplicate content > parameter per htaccess abschneiden

Mehrere Domains, Domain-Umzug, neue Dateinamen, 301/302
Ralfii
PostRank 1
PostRank 1
Beiträge: 10
Registriert: 03.11.2011, 08:26

Beitrag von Ralfii » 03.11.2011, 08:30

Hallo zusammen,
sitze nun schon seit Stunden vor meiner htaccess und bekomme folgendes Problem nicht gebacken:

habe folgenden duplicate content bei Google:
newsletter/newsletter.html?from=3&camp=0310
newsletter/newsletter.html?from=2&camp=0410
newsletter/newsletter.html?from=1&camp=0510 ...

und möchte nun alles auf die newsletter/newsletter.html per 301 umleiten
also die Parameter löschen

hab schon alles mögliche probiert u.A. dies:
RewriteCond %{THE_REQUEST} " (.*)/newsletter/newsletter.html?(.*) "
RewriteRule "" %1/newsletter/newsletter.html [R=301,L]

nur bekomme ich leider einen Fehler und keinen Redirect
Fehler: Umleitungsfehler Die aufgerufene Website leitet die Anfrage so um, dass sie nie beendet werden kann.
die Condition zieht, aber die rewriterule passt wohl nicht

könnt Ihr mir weiterhelfen ?

danke und Grüße
Ralf

Anzeige von ABAKUS

von Anzeige von ABAKUS »

Content Erstellung von ABAKUS Internet Marketing
Ihre Vorteile:
  • einzigartige Texte
  • suchmaschinenoptimierte Inhalte
  • eine sinnvolle Content-Strategie
  • Beratung und Umsetzung
Jetzt anfragen: 0511 / 300325-0

Melegrian
PostRank 10
PostRank 10
Beiträge: 3170
Registriert: 30.01.2005, 12:36

Beitrag von Melegrian » 03.11.2011, 20:34

Probiere mal:

Code: Alles auswählen

RewriteCond %{QUERY_STRING} ^(.*)from(.*)$ [NC]
RewriteRule ^(.*)$ /$1? [L,R=301]

Ralfii
PostRank 1
PostRank 1
Beiträge: 10
Registriert: 03.11.2011, 08:26

Beitrag von Ralfii » 03.11.2011, 20:53

Hallo Melegrian,
erst mal vielen Dank für Deine Hilfe ;-))

Es funktioniert aber leider kommt ein Aber:

newsletter/newsletter.html?from=3&camp=0310
wird zu
newsletter/newsletter.html ;-))

aber eben auch zB:
testberichte.html?from=3&camp=0310
wird zu
testberichte.html
und das sollte so nicht sein ;-((

gibts ne Möglichkeit auch noch newsletter.html fest mit einzubauen ?

vielen Dank und Grüße
Ralf

Anzeige von ABAKUS

von Anzeige von ABAKUS »

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


chris21
PostRank 9
PostRank 9
Beiträge: 2758
Registriert: 10.04.2005, 18:17

Beitrag von chris21 » 03.11.2011, 21:20

Code: Alles auswählen

RewriteCond %{QUERY_STRING} ^from(.*)$ [NC]
RewriteRule ^newsletter/newsletter.html$ /$1? [L,R=301]

Ralfii
PostRank 1
PostRank 1
Beiträge: 10
Registriert: 03.11.2011, 08:26

Beitrag von Ralfii » 03.11.2011, 22:36

Hallo chris21,
auch Dir erst mal dankeschön ;-))

https://localhost/testberichte.html?from=3&camp=0310
>ist perfekt passiert nichts

https://localhost/newsletter/newsletter ... &camp=0310
wirs nun leider aber ins Wurzelverzeichnis
https://localhost geleitet ...

hast Du noch ne Idee ?
danke
Ralf

Melegrian
PostRank 10
PostRank 10
Beiträge: 3170
Registriert: 30.01.2005, 12:36

Beitrag von Melegrian » 03.11.2011, 22:53

chris21 hat mehr Ahnung und Erfahrung als ich, doch ich würde es dann mal so probieren:

Code: Alles auswählen

RewriteCond %{THE_REQUEST} ^(.*)newsletter/newsletter\.html$
RewriteCond %{QUERY_STRING} ^from(.*)$ [NC] 
RewriteRule ^(.*)$ /$1? [L,R=301]
Ob es funktioniert, das weiß ich Dir aber leider nicht, bin noch beim Lernen.

Melegrian
PostRank 10
PostRank 10
Beiträge: 3170
Registriert: 30.01.2005, 12:36

Beitrag von Melegrian » 03.11.2011, 23:44

Hatte noch einen kleinen Fehler eingebaut und am Ende einmal (.*) zuwenig. Funktioniert bei mir:

Code: Alles auswählen

RewriteEngine on 

RewriteCond %{THE_REQUEST} ^(.*)demoshop/demo\.php(.*)$
RewriteCond %{QUERY_STRING} ^literatur(.*)$ [NC]
RewriteRule ^(.*)$ /$1? [L,R=301] 
Bei der ersten wird der QueryString abgehängt und nur die demo.php geladen, die zweite bleibt hingegen wie sie ist.

Code: Alles auswählen

http://localhost/demoshop/demo.php?literatur=3
http://localhost/anderer/demo.php?literatur=2

chris21
PostRank 9
PostRank 9
Beiträge: 2758
Registriert: 10.04.2005, 18:17

Beitrag von chris21 » 04.11.2011, 00:08

War noch nen kleiner Fehler drin, so geht's:

Code: Alles auswählen

RewriteCond %{QUERY_STRING} ^from(.*)$ [NC]
RewriteRule ^newsletter/newsletter.html$ /newsletter/newsletter.html? [L,R=301] 

Ralfii
PostRank 1
PostRank 1
Beiträge: 10
Registriert: 03.11.2011, 08:26

Beitrag von Ralfii » 04.11.2011, 20:12

Hallo Melegrian und chris21,
die Lösungen funktionieren perfekt - hab grad den Code von Chris getestet und schon online gestellt :lol:
Ganz vielen Dank für Eure so schnelle und kompetente Hilfe !
Ich verzweifle immer mit den reg-exp. Irgendwie sind meine Gehirnwindungen hier nicht kompatibel :-?

Viele Grüße
Ralf

Ralfii
PostRank 1
PostRank 1
Beiträge: 10
Registriert: 03.11.2011, 08:26

Beitrag von Ralfii » 05.11.2011, 17:21

Hallo Melegrian und chris21,
jetzt hab ich dank Eurer Hilfe fast alles wunderbar umgeleitet.

Ein letztes Problem bekomm ich aber nicht in den Griff:

www.domain.de/?from=3&camp=0711

soll umgeleitet werden zu

www.domain.de

könnt Ihr mir da nochmal helden ?

danke
Ralf

chris21
PostRank 9
PostRank 9
Beiträge: 2758
Registriert: 10.04.2005, 18:17

Beitrag von chris21 » 05.11.2011, 17:28

Code: Alles auswählen

RewriteCond %{QUERY_STRING} ^from(.*)$ [NC]
RewriteCond %{REQUEST_URI} ^/(newsletter/newsletter\.html)?$
RewriteRule ^(.*)$ /$1? [L,R=301] 

Ralfii
PostRank 1
PostRank 1
Beiträge: 10
Registriert: 03.11.2011, 08:26

Beitrag von Ralfii » 05.11.2011, 17:53

Hallo Chris,
unglaublich das funktioniert !

sag mal kannst Du mir die Wirkung von der zweiten Condition erklären ?
^/(newsletter/newsletter\.html)?$ was bewirkt das ?

wenn ich
RewriteCond %{QUERY_STRING} ^from(.*)$ [NC]
RewriteCond %{REQUEST_URI} ^/(dummy\.html)?$
RewriteRule ^(.*)$ /$1? [L,R=301]

funktioniert das ganze auch ... :roll:

localhost/kontakt/kontakt.html?from=3&camp=0711 es passiert nichts
localhost/?from=3&camp=0711 wird wie gewollt zu localhost

und wenn ich die zweite Cond. ganz rausnehme gehts zwar aber eben auch bei weiteren Kombinationen
localhost/kontakt/kontakt.html?from=3&camp=0711
wird dann auch
zu localhost/kontakt/kontakt.html

:roll: :roll:

Melegrian
PostRank 10
PostRank 10
Beiträge: 3170
Registriert: 30.01.2005, 12:36

Beitrag von Melegrian » 05.11.2011, 18:37

Eigentlich würde ich das jetzt als

from muss im Query vorkommen und
/(Muster) kann kein-oder-einmal? vorkommen

ansehen. Warum das dann bei Dir auch mit dummy\.html funktioniert, verstehe ich hingegen nicht. Nach meinem Verständnis sollte mit dummy\.html die newsletter/newsletter.html nicht mehr bereinigt werden. Zwischendurch mal den Cache gelöscht und versucht, ob es dann immer noch mit dummy\.html funktioniert? Falls ja, verstehe ich gerade etwas nicht.

chris21
PostRank 9
PostRank 9
Beiträge: 2758
Registriert: 10.04.2005, 18:17

Beitrag von chris21 » 05.11.2011, 19:23

@Melegrian:

ich musste die Nachricht von Rafii auch erst zweimal lesen, um zu verstehen, was der da mit dummy testet :) Er testet negativ, um die Regel zu verstehen. Wenn er dummy einsetzt, dann wird nur die Startseite vom QS bereinigt (und die dummy Unterseite, falls es die gäbe), die kontakt... nicht.

@Ralfii:

Melegrian hat es schon gut erklärt:

Das Fragezeichen in der RewriteCond steht dafür, dass das zuvor in den Klammern genannte sog. pattern einmal oder keinmal auftreten kann. Dadurch erreiche ich dann sowohl die Startseite als auch die newsletter/newsletter.html.

Ralfii
PostRank 1
PostRank 1
Beiträge: 10
Registriert: 03.11.2011, 08:26

Beitrag von Ralfii » 05.11.2011, 21:41

genau die dummy gibt es nicht ;-)
hab nochmals mehrfach getestet und es funktioniert echt wunderbar
werds dann wohl mit der nicht existenten dummy.html online stellen

Ihr seid echt genial - ohne Euch wär ich darauf wohl nie gekommen !

1. Cond. versteh ich wunderbar (hoffe ich)
RewriteCond %{QUERY_STRING} ^from(.*)$ [NC]
^ = beginn des Strings
from ist der String
(.*) keines oder irgendwelche weitere Zeichen
$ Ende
[NC] egal ob groß oder klein
er nimmt eigentlich alles irgendwie "from" enthält egal ob groß oder klein

nun aber wirds für mich schwierig mit der 2. Condition
RewriteCond %{REQUEST_URI} ^/(dummy\.html)?$
{REQUEST_URI} nimmt sich die relative url
also zB: /index.html oder auch /kontakt/kontakt.html

/(dummy\.html)?
"Das Fragezeichen in der RewriteCond steht dafür, dass das zuvor in den Klammern genannte sog. pattern einmal oder keinmal auftreten kann. Dadurch erreiche ich dann sowohl die Startseite als auch die newsletter/newsletter.html."
>einmal oder keinmal
startseite >kommt keinmal vor
localhost/kontakt/kontakt.html?from=3&camp=0711 >kommt doch auch keinmal vor ...????
es funktioniert, aber genau diesen Teil versteht ich nicht :roll: :roll:

wenns Dir mit dem Eklären zuviel Arbeit ignorier mich einfach :wink:

Liebe Grüße
Ralf

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag