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

Frage zu mod_rewrite

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
PageRenk
PostRank 4
PostRank 4
Beiträge: 102
Registriert: 18.10.2006, 07:41

Beitrag von PageRenk » 11.01.2011, 15:48

Hallo,

ich möchte per mod_rewrite (301) alle möglichen URL's einer Subdomain zur www-Domain weiterleiten.

Ist am Bsp vielleicht einfacher zu verstehen
sub.domain.de leitet weiter auf www.domain.de
sub.domain.de/verzeichnis/ leitet weiter auf www.domain.de
sub.domain.de/eine-datei.htm leitet weiter auf www.domain.de
sub.domain.de/index.php?id=345 leitet weiter auf www.domain.de

Die Subdomain zeigt auf ein Verzeichnis auf meinem Server, in dem eine htaccess-Datei liegt.

Die htaccess sieht so aus:

Code: Alles auswählen

RewriteEngine On
RewriteRule ^(.*)$ http://www.domain.de/ [R=301,L] 

Soweit funktioniert die Weiterleitung auch...
Nur bei sub.domain.de/index.php?id=345 wird auf www.domain.de/?id=345 weitergeleitet.

Muss ich hier weitere Anweisungen in die htaccess packen, oder warum entfernt der Server zwar den Dateinamen, lässt aber die Parameter stehen???

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 » 11.01.2011, 17:07

Code: Alles auswählen

RewriteEngine On
RewriteRule ^(.*)$ http://www.domain.de/? [R=301,L]
Beachte das Fragezeichen am Ende der Zieldomain.

Damit ist Dein Problem mit den Parametern gelöst.

PageRenk
PostRank 4
PostRank 4
Beiträge: 102
Registriert: 18.10.2006, 07:41

Beitrag von PageRenk » 12.01.2011, 08:20

Hallo,

das hat funktioniert. Super!

Ich stehe aber irgendwie auf dem Schlauch in Sachen mod_rewrite und der Bedeutung des Fragezeichens in dem Ausdruck...

Was bedeutet das Fragezeichen an dieser Stelle?

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

Beitrag von chris21 » 12.01.2011, 14:20

Das Fragezeichen setzt - praktisch beschrieben - den automatisch gesetzten [QSA] Flag außer Kraft (technisch ist es wieder ungenau, aber so ist es am Besten verständlich). Der QSA Flag kümmert sich darum, bei Rewrites einfach den zuvor vorhandenen Query String mit zu übergeben.

Mod_Rewrite arbeitet in der Regel auf Host/Direcotry/Filenamen und läßßt Query Strings unangetastet, sofern man sich nicht nicht explizit ihnen zuwendet.

So wird ein Query String bspw. nicht über das Pattern in der RewriteRule erfasst und in einer RewriteCond kann man nur über {QUERY_STRING} tatsächlich diesen erwischen.

Mod_Rewrite kümmert sich also i.d.R. nicht sonderlich um Query Strings, sondern reicht sie einfach weiter durch. Das Fragezeichen als spezieller Operator im Ziel verhindert dies und schneidet den Query String ab.

PageRenk
PostRank 4
PostRank 4
Beiträge: 102
Registriert: 18.10.2006, 07:41

Beitrag von PageRenk » 13.01.2011, 08:40

Mod_Rewrite kümmert sich also i.d.R. nicht sonderlich um Query Strings, sondern reicht sie einfach weiter durch.
Ahhh...
Das wusste ich nicht! So wird es doch klarer, warum das so ist.

Danke für Deine Erklärung.

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag