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

Dynamische URLS per 301 weiterleiten

Hier können Sie Ihre Fragen zum Thema Suchmaschinenoptimierung (SEO) / Positionierung stellen
Neues Thema Antworten
hallo_welt_:-)
PostRank 1
PostRank 1
Beiträge: 11
Registriert: 10.09.2007, 07:07

Beitrag von hallo_welt_:-) » 10.09.2007, 15:56

Hallo,

ich suche seit heute mittag, finde aber keine passende Lösung.

Google hat leider meine Seiten mitsamt Session-ID indexiert, war mein Fehler :( Mittlerweile habe ich den Fehler mit der ID behoben, sauberer Head, die ID wird bei Google & Co. nicht mehr vergeben. Allerdings hat Google die Indexierung ja bereits vorgenommen, nun würde ich gerne die Seiten, nenne ich einfach mal

Code: Alles auswählen

http://www.example.com/mercedes.html?PHPSESSID=xxxxxx
via permanent redirect zu

Code: Alles auswählen

http://www.example.com/mercedes.html
wieder in eine gute Form bringen, schon allein um DC zu vermeiden.

Versucht habe ich via htaccess

Code: Alles auswählen

permanent redirect ^mercedes.html([.]*)$ http://www.example.com/mercedes.html
Was mache ich verkehrt?

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 » 10.09.2007, 16:10

Du nutzt mod_alias, welches jedoch nicht mit Query_Strings arbeiten kann, ebensowenig mit Platzhaltern, letzteres geht nur, solange Du RedirectMatch bei mod_alias einsetzt.

Siehe: https://httpsd.apache.org/docs/1.3/mod/mod_alias.html

Folglich solltest Du mod_rewrite anstelle mod_alias nutzen, z.B. so:

Code: Alles auswählen

RewriteEngine on
RewriteRule ^mercedes.html?(.+)$ http://www.example.com/mercedes.html? [R=301,L]
Dieses - anfangs falsch wirkende - Fragezeichen am Ende der Ziel-URL verhindert, dass der QueryString übergeben wird - musst mal testen, ob Du es brauchst, oder ob es auch ohne klappt.

hallo_welt_:-)
PostRank 1
PostRank 1
Beiträge: 11
Registriert: 10.09.2007, 07:07

Beitrag von hallo_welt_:-) » 10.09.2007, 16:20

Danke für die schnelle Antwort:

Problem ist, ich habe diese statische URL zuvor bereits mit mod_rewrite erzeugt, konkret bedeutet das:

Google hat die Seite so indexiert:

Code: Alles auswählen

http://www.example.com/mercedes.html?PHPSESSID=xxxxxx
Tatsächlich ist die Seite auch so zu erreichen:

Code: Alles auswählen

http://www.example.com/index.php?car=mercedes
So sollte sie indexiert werden:

Code: Alles auswählen

http://www.example.com/mercedes.html
Inhalt meiner htacess:

Code: Alles auswählen

RewriteEngine on
ReWriteRule mercedes.html index.php?car=mercedes
Kann ja jetzt schlecht noch eine Regel für eine bereits umgeformte URL angeben, oder gibt es dafür eine Möglichkeit?

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

Beitrag von chris21 » 10.09.2007, 16:50

Doch, dass ist möglich (bitte Reihenfolge beachten!):

Code: Alles auswählen

RewriteEngine on
RewriteCond %{QUERY_STRING} ^PHPSESSID=([0-9a-zA-Z]*)
RewriteRule ^mercedes.html?(.+) http://www.example.com/mercedes.html? [R=301]
RewriteRule ^mercedes.html$ index.php?car=mercedes
Die erste RewriteRule bewirkt einen sog. permanenten (durch [R=301]), externen Redirect, die zweite einen internen Redirect. D.h., als sichtbare URL bleibt dann mercedes.html bestehen, der ausgegebene Inhalt stammt von index.php?car=mercedes
Zuletzt geändert von chris21 am 10.09.2007, 18:08, insgesamt 1-mal geändert.

hallo_welt_:-)
PostRank 1
PostRank 1
Beiträge: 11
Registriert: 10.09.2007, 07:07

Beitrag von hallo_welt_:-) » 10.09.2007, 17:03

Naja klar stimmt der externe Redirect muss vorher ausgeführt werden, damit der interne noch zum tragen kommt... Vielen Dank dafür, dann kann ich ja gespannt sein ob meine Seite nun korrekt indiziert wird :-)

hallo_welt_:-)
PostRank 1
PostRank 1
Beiträge: 11
Registriert: 10.09.2007, 07:07

Beitrag von hallo_welt_:-) » 10.09.2007, 19:20

Bin jetzt schon wieder länger am machen... Gibt es noch die Möglichkeit eine dritte Regel hinzuzufügen die die index.php?car=mercedes indexierung löscht und durch mercedes.html ersetzt? Vielen Dank für deine Geduld!

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

Beitrag von chris21 » 10.09.2007, 23:33

Hier gibt es zwei Möglichkeiten:

1. Du löst es auf der PHP-Ebene

2. Du nutzt auch hierfür mod_rewrite, musst dann aber auf einen Trick zurückgreifen:

Code: Alles auswählen

RewriteEngine on
RewriteCond %{QUERY_STRING} ^PHPSESSID=([0-9a-zA-Z]*)
RewriteRule ^mercedes.html?(.+) http://www.example.com/mercedes.html? [R=301]
RewriteCond %{QUERY_STRING} ^car=mercedes$
RewriteRule ^index.php?car=mercedes$ http://www.example.com/mercedes.html? [R=301]
RewriteRule ^mercedes.html$ index.php?car=mercedes&umgeschrieben=ja 
Der Trick besteht in der weiteren Variable (hier umgeschrieben=ja genannt), da Du sonst eine Endlosschleife produzieren würdest. Diese Variable ist ansonsten ein leeres unnützes Fake, wird also von der index.php nicht gebraucht.

bk1984bgl
PostRank 1
PostRank 1
Beiträge: 1
Registriert: 27.09.2007, 21:24

Beitrag von bk1984bgl » 27.09.2007, 21:28

also hier mein problem.

ich möchte per 301 permanent redirect von https://yourdomain.com auf https://www.yourdomain.com weiterleiten und das mit .htaccess.

kann mir da jemand weiter helfen?

vielen dank!

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag