Seite 1 von 1

Kreisverkehr verhindern?

Verfasst: 14.03.2013, 17:03
von Hannelore-Müller
Hallo zusammen,

im ersten Augenblick sieht es einfach aus - aber im Augenblick bekomme ich den Knoten nicht gelöst:

Ich habe für einen Artikel eine interne_url und eine schoene_url.
Über beide kann die html-Seite aufgerufen werden.

Um Duplicate-Content zu vermeiden, soll nach außen nur die schoene_url bekannt gemacht werden. Wenn also die interne_url aufgerufen wird, soll die per 301 auf die schoene_url geleitet werden.
Die schoene_url soll aber intern auf die interne_url geleitet werden mit RewriteRule, also ohne 301.

Nur irgendwie dreht sich alles im Kreis. Wie kann ich es trotzdem hinbekommen?


.htaccess
=========================================
RewriteEngine On
RewriteBase /

# die schone_url im Browser anzeigen, aber auf die interne_url umleiten.
RewriteRule schoene_url.html /interne_url.html

# falls jemand doch die interne_url erfährt per 301 auf die schoene_url leiten.
Redirectpermanent /interne_url.html https://domain.de/schoene_url.html



Wie löst man den Kreisverkehr richtig auf?
Was fehlt meiner Lösung?

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

Re: Kreisverkehr verhindern?

Verfasst: 14.03.2013, 18:04
von Hannelore-Müller
Hannelore-Müller hat geschrieben: .htaccess
=========================================
RewriteEngine On
RewriteBase /

# die schone_url im Browser anzeigen, aber auf die interne_url umleiten.
RewriteRule schoene_url.html /interne_url.html

# falls jemand doch die interne_url erfährt per 301 auf die schoene_url leiten.
Redirectpermanent /interne_url.html https://domain.de/schoene_url.html
Ich kam noch auf eine Idee und zwar [L] oben in die .htaccess einzufügen
RewriteRule schoene_url.html /interne_url.html [L]

Aber auch das funktioniert nicht. Ich erhalte zwar keine Fehlermeldung, aber der Browser wartet und wartet auf eine Antwort - erhält aber nichts.

Keiner 'ne Idee?

Verfasst: 14.03.2013, 19:39
von Melegrian
Wird interne_url.html durch schoene_url.html ausgelöst, muss interne_url.html einen QueryString erhalten, um eine Endlosschleife zu verhindern.

Code: Alles auswählen

RewriteEngine on

RewriteCond %{QUERY_STRING} !^nur=so$
RewriteRule ^interne_url\.html$ /schoene_url.html? [L,R=301]
RewriteRule ^schoene_url\.html$ /interne_url.html?nur=so [QSA,L]
interne_url.html wird auf schoene_url.html umgeleitet, aber nur wenn interne_url.html noch nicht durch URL-Rewriting in der letzten Zeile durch schoene_url.html ausgelöst wurde und dadurch einen QueryString erhielt.

Gehört zu interne_url.html bereits ein QueryString, so sieht die Angelegenheit noch etwas anders aus, dazu findest Du weiter unten auf der Seite noch eine Anleitung: URL-Rewriting