Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

mod_rewrite schreibt meine Url nicht um

0 views
Skip to first unread message

Ralf Schmidt

unread,
Jul 18, 2004, 12:40:45 PM7/18/04
to
Hallo,

ich plage mich mit mod_rewrite und dem Apache 1.3.29 rum. Über die
.htaccess möchte ich folgendes erreichen: Alles was nicht *.domain1.com
ist soll nach domain1.com/fehler.htm umgeleitet werden. Aber auch so, das
der Browser die domain1.com Adresse anzeigt.

in meiner .htaccess steht:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^\.domain1\.com$ [NC]
RewriteRule ^/(.*) http://domain1.com/fehler.htm?domain=$1 [L,R]

Auch habe ich
RewriteCond %{REQUEST_URI} !^\.domain1\.com$ [NC] ... ausprobiert.
Beides funktioniert nicht.

Die .htaccess wird ausgewertet, das habe ich mittels eines Syntaxfehler
probiert.

Was mache ich noch falsch?
Lt. google.de und meine Apache-Bibel sollte es so funktionieren.

Danke für Eure Hilfe.

Viele Grüße aus Köln

Ralf Schmidt

Max Dittrich

unread,
Jul 19, 2004, 3:39:29 AM7/19/04
to
Hi,

Ralf Schmidt wrote on Sun, 18 Jul 2004 18:40:45 +0200:
> Hallo,
>
> ich plage mich mit mod_rewrite und dem Apache 1.3.29 rum. Über die
> .htaccess möchte ich folgendes erreichen: Alles was nicht *.domain1.com
> ist soll nach domain1.com/fehler.htm umgeleitet werden. Aber auch so, das
> der Browser die domain1.com Adresse anzeigt.
>
> in meiner .htaccess steht:
> RewriteEngine on
> RewriteCond %{HTTP_HOST} !^\.domain1\.com$ [NC]
> RewriteRule ^/(.*) http://domain1.com/fehler.htm?domain=$1 [L,R]
>
> Auch habe ich
> RewriteCond %{REQUEST_URI} !^\.domain1\.com$ [NC] ... ausprobiert.
> Beides funktioniert nicht.
>
> Die .htaccess wird ausgewertet, das habe ich mittels eines Syntaxfehler
> probiert.
>
>
>
> Was mache ich noch falsch?

Nichts :) . Nur im Host-Header auf den Du mit Deiner Vorbedingung prüfst
steht vermutlich nicht '.domain1.com'.

Lass einfach den ^-Anker für den Match auf den Anfang einer Zeichenkette
weg.

gruss,
.max

Mario Mueller

unread,
Jul 19, 2004, 5:31:03 AM7/19/04
to
Am Sun, 18 Jul 2004 18:40:45 +0200 schrieb Ralf Schmidt:

> in meiner .htaccess steht:
> RewriteEngine on
> RewriteCond %{HTTP_HOST} !^\.domain1\.com$ [NC]

So ein Host kann eigentlich nicht kommen. Du meinst sicherlich:

RewriteCond %{HTTP_HOST} !domain1\.com$ [NC]

Davon abgesehen würde ich eher positiv testen - also wenn falsche
Domain, dann umleiten:

RewriteCond %{HTTP_HOST} domain2\.com$ [OR]
RewriteCond %{HTTP_HOST} domain3\.com$
...

Sollte ein kaputter HTTP/1.0 Client keinen Host mitsenden, könnte der
sich evtl. tot rennen.

> RewriteRule ^/(.*) http://domain1.com/fehler.htm?domain=$1 [L,R]

Lass mal den führenden Slash in der RewriteRule weg. Also:

RewriteRule ^(.*)$ http://domain1.com/fehler.htm?domain=$1 [L,R]

m.m

--
Fremdsprachen Online Lernen http://www.lingo4u.de/

Ralf Schmidt

unread,
Jul 19, 2004, 7:14:48 AM7/19/04
to
Mario Mueller schrieb:

> RewriteCond %{HTTP_HOST} !domain1\.com$ [NC]

> Lass mal den führenden Slash in der RewriteRule weg. Also:
>
> RewriteRule ^(.*)$ http://domain1.com/fehler.htm?domain=$1 [L,R]

Danke das wars!



> Davon abgesehen würde ich eher positiv testen - also wenn falsche
> Domain, dann umleiten:
>
> RewriteCond %{HTTP_HOST} domain2\.com$ [OR]
> RewriteCond %{HTTP_HOST} domain3\.com$

Das wäre mir zu aufwändig. Ich habe hier zuviele virtuelle Domains und
dann jedesmal dafür eine neue Cond zu schreiben. Diese Negation ist
dafür wie geschaffen, alles was nicht ist....

Nochmals danke Euch beiden für den entscheidenen Tipp.

Viele Grüße aus Köln
Ralf Schmidt

--
Das Wort "WINDOWS" stammt aus einem alten Sioux-Dialekt und bedeutet:
"Weißer Mann starrt durch Glasscheibe auf Sanduhr."

Bastian Blank

unread,
Jul 20, 2004, 9:54:43 AM7/20/04
to
Mario Mueller wrote:
> Sollte ein kaputter HTTP/1.0 Client keinen Host mitsenden, könnte der
> sich evtl. tot rennen.

s/kaputter/standardkonformer/
HTTP 1.0 kennt kein Host-Header.

Bastian

Mario Mueller

unread,
Jul 20, 2004, 11:44:13 AM7/20/04
to

Das "kaputt" bezog sich auf das "tot rennen". Auch bei HTTP 1.0 sollte
der Client nach einer bestimmten Anzahl Redirects abbrechen. Macht er
das nicht, ist er kaputt.

0 new messages