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

mod_rewrite: Domain auf Ordner umbiegen

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
mcchaos
PostRank 9
PostRank 9
Beiträge: 1414
Registriert: 27.07.2004, 19:18

Beitrag von mcchaos » 13.10.2004, 14:24

Hallo!

Ich würde gerne eine bestimmte Domain des Paketes auf einen Order "umbiegen".
Bsp:
www.domain.de/test.htm -> Es soll die Datei www.domain.de/ordner/test.htm dargestellt werden.

Ich habe (u.a.) versucht:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.domain\.de$ [NC]
RewriteRule (.*) /ordner/$1 [L]

... geht abber net (Apache sagt: Internal Server Error).
Hilfe!

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.


Michael
PostRank 8
PostRank 8
Beiträge: 808
Registriert: 04.01.2004, 20:23
Wohnort: Herne

Beitrag von Michael » 13.10.2004, 15:56

Habe es jetzt nicht extra getestet, aber etwa so sollte es gehen

RewriteCond %{REQUEST_URI} ^/([^.]*).html$
RewriteRule ^(.*) /ordner/%1.html [L]

Gruß
Michael

zebby
PostRank 1
PostRank 1
Beiträge: 14
Registriert: 12.04.2004, 14:48

Beitrag von zebby » 14.10.2004, 00:00

so funktioniert es sicher

RewriteCond %{HTTP_HOST} ^[a-z]+\.domain\.de$
RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
RewriteRule ^(.*)\.domain\.de ordner

Caterham
PostRank 5
PostRank 5
Beiträge: 329
Registriert: 20.09.2004, 19:12

Beitrag von Caterham » 14.10.2004, 19:34

.. geht abber net (Apache sagt: Internal Server Error).
Weil du 'ne Schleife drinn' hast -> deine Regel wird auch dann wieder ausgeführt, wenn sie schon einmal ausfgeführt wurde.

Code: Alles auswählen

RewriteRule (.*) /ordner/$1 
ist ohne Ausschluss ist immer wahr.


hostest/routest du mehere Domains auf ein Verzeichnis? Sonst kannst du dir das nämlich mit dem HTTP Host sparen.

Code: Alles auswählen

RewriteEngine On
#fängt nicht mit ordner an und es folgen 0 oder beliebig viele Zeichen
RewriteRule !^ordner.*$ - [C]
#nur, wenn das von der Domain ist
RewriteCond %{HTTP_HOST} ^[a-z]*\.?domain\.de$ [NC]
#deine Regel, letzte Regel; wird nur ausgeführt, wenn RewriteRule !^.. von oben wahr ist (also ordner nicht angefordert)
RewriteRule (.*) /ordner/$1 [L]
per ^[a-z]*\.?domain\.de$ ist neben www.domain.de auch domain.de erfasst, lege dich aber auf eins fest: :arrow: Standard-Domain definieren

Die Regel von Michael funktioniert, wenn du folgendes notierst:

Code: Alles auswählen

#der Slash muss auch ausgeschlossen werden, sonst ist /ordner/test.html ebenfalls wahr
RewriteCond %{REQUEST_URI} ^/([^./]*)\.html$
RewriteRule ^(.*) /ordner/%1.html [L]
Achtung - bitte nicht verwechseln im per-dir rewriting (htaccess): Request URI mit führendem Slash, RewriteRule ^[...] ohne führenden Slash

Code: Alles auswählen

%{REQUEST_URI} ^/ordner/test\.html$
RewriteRule ^ordner/test\.html
#ABER NICHT
RewriteRule ^/ordner/test\.html
Gruß
Robert

mcchaos
PostRank 9
PostRank 9
Beiträge: 1414
Registriert: 27.07.2004, 19:18

Beitrag von mcchaos » 16.10.2004, 11:25

Danke für die Antworten, habs hinbekommen!

Michael
PostRank 8
PostRank 8
Beiträge: 808
Registriert: 04.01.2004, 20:23
Wohnort: Herne

Beitrag von Michael » 20.10.2004, 10:56

Tatsache. Mein Regulärer Ausdruck kann nicht klappen.
Sorry.

Man sollte doch immer alles testen bevor man es weitergibt. :oops:

bull
PostRank 9
PostRank 9
Beiträge: 2166
Registriert: 20.09.2003, 20:57
Wohnort: Vèneto

Beitrag von bull » 20.10.2004, 11:05

Es handelt sich m.E. hier gar nicht um Umleiten bei Deiner ersten Fassung, da ein 200er wohl zurückgegeben wird. Schau mal Deinen HTTP-Header an mit SamSpade o.ä.

Code: Alles auswählen

RewriteEngine On
RewriteCond %{HTTP_HOST} \.domain\.de [NC]
RewriteCond %{REQUEST_URI} !ordner [NC]  # nur falls domain==zieldomain
RewriteRule (.*) http://zieldomain/ordner/$1 [R=301,L]
sollte aber eigentlich schon funktionieren.
Hinweis: Länderkennung nicht mit "$" terminieren, da bei optionaler Portangabe die Regel nicht greift.

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag