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

DC Problem (ganz einfach und doch so schwierig)

Hier können Sie Ihre Fragen zum Thema Suchmaschinenoptimierung (SEO) / Positionierung stellen
Da5id
PostRank 1
PostRank 1
Beiträge: 18
Registriert: 07.02.2005, 17:53

Beitrag von Da5id » 23.10.2006, 21:26

Hallo zusammen,

ich habe schon einige Treads zum Thema RewriteRules gelesen, bekomme es aber einfach nicht gebacken.

Und zwar möchte ich DC vermeiden und

index.php
index.php?index

(beide DC von /)

auf das Rootverzeichnis umleiten. Folgende RewriteRule funktioniert bei mir nicht:

RewriteRule ^index.php?index$ / [L,R=301]

Engine ist On. Andere Rules funktionieren. Was mache ich falsch?

:roll:

Anzeige von ABAKUS

von Anzeige von ABAKUS »


Hochwertiger Linkaufbau bei ABAKUS:
  • Google-konformer Linkaufbau
  • nachhaltiges Ranking
  • Linkbuilding Angebote zu fairen Preisen
  • internationale Backlinks
Wir bieten Beratung und Umsetzung.
Jetzt anfragen: 0511 / 300325-0

haha
PostRank 9
PostRank 9
Beiträge: 1065
Registriert: 03.04.2006, 18:08
Wohnort: Bi Hamborg

Beitrag von haha » 24.10.2006, 11:07

Mit RewriteRule lassen sich die URL-Parameter nicht abfragen (steht als großer Hinweis in der RewriteRule-Anleitung, wenn auch etwas weiter unten). Du musst den Pfad mit RewriteRule prüfen und die URL-Parameter mit RewriteCond und der Variablen %{QUERY_STRING}.

Das Muster ^index.php?index$ hätte davon unabhängig mit der Zeichenkette index.php?index sowieso nicht funktioniert, weil das Fragezeichen eine besondere Funktion hat (vorangegangenes Zeichen darf ein- oder keinmal vorkommen) und nicht für ein Fragezeichen steht - genauso wie der Punkt. ^index.php?index$ passt auf index.phpindex, index.phindex, indexXphpindex, index8phindex und vieles mehr, aber nicht auf index.php?index. Richtig wäre einzig ^index\.php\?index$ gewesen.

Um die URL-Parameter aus Deiner neuen URL zu verbannen, leite nach /? weiter, nicht nach / (das Fragezeichen verschwindet automatisch, weil dahinter keine Parameter folgen). Ohne diese Maßnahme würdest Du von /index.php?index nach /?index kommen.

Da5id
PostRank 1
PostRank 1
Beiträge: 18
Registriert: 07.02.2005, 17:53

Beitrag von Da5id » 24.10.2006, 18:08

haha hat geschrieben:Mit RewriteRule lassen sich die URL-Parameter nicht abfragen (steht als großer Hinweis in der RewriteRule-Anleitung, wenn auch etwas weiter unten). Du musst den Pfad mit RewriteRule prüfen und die URL-Parameter mit RewriteCond und der Variablen %{QUERY_STRING}.
Uih, vielen Dank haha, das sind schon mal 50%.

Das klappt: :P

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

...aber das leider nicht :(

RewriteCond %{SCRIPT_NAME} ^index.php$
RewriteRule ^(.*)$ /? [L,R=301]

hab's auch mit ^/index.php$ und mit ^index\.php$ und mit ^/index\.php$ probiert :roll: