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

domain.de/bla nach index.php?123

Mehrere Domains, Domain-Umzug, neue Dateinamen, 301/302
Neues Thema Antworten
globestern
PostRank 3
PostRank 3
Beiträge: 71
Registriert: 14.09.2007, 13:34

Beitrag von globestern » 06.10.2009, 15:56

Code: Alles auswählen

RewriteCond %{HTTP_HOST} !^www\.domain\.tld$ [NC]
RewriteRule ^/bla http://www.domain.tld/index.php?123[R=301,L]
zur erklärung:

ich möchte domain.de/bla nach domain.de/index.php?123 weiterleiten
wichtig: es soll nur /bla weitergeleitet werden andere unterseiten sind nicht betroffen und sollten normal weiterlaufen!

zusätzlich soll ich noch:

domain.nl/bla nach domain.nl/index.php?321 weiterleiten

sprich:
der HTTP_HOST müsste erkannt werden und geprüft ob .nl / .de
das passiert ja mit:

Code: Alles auswählen

RewriteCond %{HTTP_HOST} !^www\.domain\.tld$ [NC]
dann wir der rewrite für /bla durchgeführt:

Code: Alles auswählen

RewriteRule ^/bla http://www.domain.tld/index.php?123[R=301,L]
klappt aber leider nicht, wo liegt der fehler?
andere rewrite rules funktionieren einwandfrei

mfg

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.


globestern
PostRank 3
PostRank 3
Beiträge: 71
Registriert: 14.09.2007, 13:34

Beitrag von globestern » 08.10.2009, 08:04

niemand eine idee? :cry:

Bauchladen
PostRank 6
PostRank 6
Beiträge: 388
Registriert: 24.04.2005, 13:51
Wohnort: Hamburg

Beitrag von Bauchladen » 10.10.2009, 11:49

"!" negiert deine Regel. ".tld" ist ein Beispiel nehme ich an.

Zusätzlich könntest du 2 Fälle abfangen, für www und ohne subdomain:

Code: Alles auswählen

RewriteCond %{HTTP_HOST} ^domain\.nl [OR] 
RewriteCond %{HTTP_HOST} ^www.domain.nl
Vllt. ist es nötig deine Regel zum Ende hin zu öffnen

Code: Alles auswählen

RewriteRule ^/bla.*$ http:/ ...
Leider wissen wir noch nicht wie deine Aufrufe aussehen. Es hilft sehr wenn du uns Beispiele lieferst.
Bild

Mork vom Ork
PostRank 9
PostRank 9
Beiträge: 2557
Registriert: 08.07.2008, 11:07
Wohnort: Aufm Friedhof.

Beitrag von Mork vom Ork » 10.10.2009, 12:38

globestern hat geschrieben:ich möchte domain.de/bla nach domain.de/index.php?123 weiterleiten wichtig: es soll nur /bla weitergeleitet werden andere unterseiten sind nicht betroffen und sollten normal weiterlaufen!

zusätzlich soll ich noch domain.nl/bla nach domain.nl/index.php?321 weiterleiten
Das sind schonmal zwei Fälle mit zwei Zielen. Du hast nur einen Regelsatz mit exakt einem Ziel. Kann also nicht so laufen, wie du wünschst.
der HTTP_HOST müsste erkannt werden und geprüft ob .nl / .de
das passiert ja mit:

Code: Alles auswählen

RewriteCond %{HTTP_HOST} !^www\.domain\.tld$ [NC]
Nein, damit prüfst du, ob HTTP_HOST nicht www.domain.tld entspricht - Betonung auf nicht, wie der Bauchladen schon schrieb. Wenn etwas nicht rot ist, bedeutet das noch lange nicht, dass es grün ist. Es könnte genauso gut lila oder schwarz-weiß kariert sein.

So wäre es richtig:

RewriteCond %{HTTP_HOST} =www.domain.nl

Beachte aber, dass dies nicht auf domain.nl (ohne www.) passt, was aber kein großartiges Problem wäre, wenn du vorher eine allgemeine nicht-www-nach-www-Umleitung hast.
Hast du das nicht und möchtest du beide Fälle, www.domain.nl und domain.nl, benutze dies:

RewriteCond %{HTTP_HOST} ^(www\.)?domain\.nl$

Code: Alles auswählen

RewriteRule ^/bla http://www.domain.tld/index.php?123[R=301,L]
klappt aber leider nicht, wo liegt der fehler?
Das ist nur ansatzweise richtig:

1. Du möchtest nur /bla behandeln, aber nicht /blafasel. Dein Muster ist aber lediglich vorne abgeschlossen (^), hinten ist es hingegen offen. Es passt daher auf alles, was mit /bla beginnt.
2. Ich nehme mal an, du hast diese Regel in einer .htaccess definiert. In der .htaccess prüft RewriteRule immer nur gegen relative Pfade. Dein Muster /bla ist jedoch wegen des führenden Schrägstriches ein absoluter Pfad, richtig wäre bla.
3. Zwischen der Ziel-URL und den mit der eckigen Klammer beginnenden RewriteRule-Optionen solltest du ein Leerzeichen setzen.

1. und 2. zusammen ergeben als richtiges Muster ^bla$ , also an beiden Enden abgeschlossen, vorne mit ^ (Textanfang) und hinten mit $ (Textende) und ohne führenden Schrägstrich.

Das Ganze machst du dann zweimal, einmal für die .nl-Domain, einmal für die .de-Domain.

globestern
PostRank 3
PostRank 3
Beiträge: 71
Registriert: 14.09.2007, 13:34

Beitrag von globestern » 12.10.2009, 10:48

vielen vielen dank euch beiden
hat super geklappt!

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag