Htaccess Umleitung

Hallo,

ich hab mich jetzt ca. 2 Stunden durch verschiedene Anleitungen, Tutorials, … gearbeitet und ich hab keine Ahnung wie ich das mit mod_rewrite realisieren soll.

Ich habe auf meinem 1und1 Webserver im Root-Verzeichnis eine intro.php liegen und zwei Unterordner: alt und cms
In cms ist Joomla installiert mit einer speziellen htaccess zum Schutz gegen Hacker und für die „schöneren“ URL’s.
In alt befindet sich die alte HP, die durch htaccess mit einem Passwort gesichert ist.

Ich möchte, dass alles was nicht /alt oder /cms ist auf die intro.php umgeleitet wird.

Wenn möglich, soll bei falscher Passworteingabe im Verzeichnis alt auf fehler.php umgeleitet werden. Ich vermute, die Datei muss dann auch ausgeschlossen werden.

Ich bedanke mich schonmal für jeden, der sich Zeit für mein Problem nimmt und mir bei der Lösung hilft.

Gruß, sagitta1793

Ich möchte, dass alles was nicht /alt oder /cms ist auf die
intro.php umgeleitet wird.

Hallo sagitta

Dafür könntest du dir die Fehler Seite zu nutze machen

.htaccess:
ErrorDocument 404 http://www.example.com/index.html

Das leitet alles, was nicht existiert auf example.com um.

L.g.

Hallo,

sehr gute Idee, so einfach hab ich garnicht gedacht :wink:

Wenn ich allerdings die htaccess von alt verände:

AuthName "\*\*\*\*\*\*\*\*\*\*"
AuthType Basic
AuthUserFile "/\*\*\*\*\*\*\*\*\*\*/.htpasswd"
require valid-user

ErrorDocument 401 http://\*\*\*\*\*\*\*\*\*\*/redirect.php

kommt:

Serverfehler!

Die Anfrage kann nicht beantwortet werden, da im Server ein interner Fehler aufgetreten ist. Der Server ist entweder überlastet oder ein Fehler in einem CGI-Skript ist aufgetreten.

Sofern Sie dies für eine Fehlfunktion des Servers halten, informieren Sie bitte den Webmaster hierüber.
Error 500
\*\*\*\*\*\*\*\*\*\*
04/14/10 19:24:19
Apache/2.2.14 (Win32) DAV/2 mod\_ssl/2.2.14 OpenSSL/0.9.8l mod\_autoindex\_color PHP/5.3.1 mod\_apreq2-20090110/2.7.1 mod\_perl/2.0.4 Perl/v5.10.1

Ich hab das ErrorDocument vor, nach und einfach mittendrin :wink: eingefügt, überall der selbe Fehler.

Gruß, sagitta1793

Hallo,

kommt:

Serverfehler!

Die Anfrage kann nicht beantwortet werden, da im Server ein
interner Fehler aufgetreten ist. Der Server ist entweder
überlastet oder ein Fehler in einem CGI-Skript ist
aufgetreten.

Dann schau mal in die error.log Datei, da steht drin was falsch ist.

Grüße,
Moritz

Hallo,

Auszug aus der Log-Datei:

[Thu Apr 15 16:46:44 2010] [alert] [client ::1] /\*\*\*\*\*\*\*\*\*\*\*/htdocs/alt/.htaccess: ErrorDocument not allowed here
[Thu Apr 15 16:46:44 2010] [error] [client ::1] File does not exist: /\*\*\*\*\*\*\*\*\*\*\*/htdocs/favicon.ico
[Thu Apr 15 16:46:44 2010] [error] [client ::1] File does not exist: /\*\*\*\*\*\*\*\*\*\*\*/htdocs/favicon.ico

Wenn ich das ErrorDocument im Root-Verzeichnis einfüge, passiert trotzdem nichts und ich erhalten den Fehler:

Thu Apr 15 16:52:00 2010] [notice] cannot use a full URL in a 401 ErrorDocument directive --- ignoring!

Wenn ich dann nur „error.php“ nehme, wird er einfach auf der Seite angezeigt und bei „/error.php“ wird das Verzeichnis garnicht angezeigt.

Gruß, sagitta1793

Thu Apr 15 16:52:00 2010] [notice] cannot use a full URL
in a 401 ErrorDocument directive --- ignoring!

Wenn ich dann nur „error.php“ nehme, wird er einfach auf der
Seite angezeigt und bei „/error.php“ wird das Verzeichnis
garnicht angezeigt.

nur mal so ganz dumme frage, liest du die fehlermeldung nicht weil du kein englisch kannst ?

cannot use a full URL

das heisst wohl das du keine http:// sachen nutzen kannst
sondern einfach absolute den pfad angeben ab server root /ordner/fehler.php

Hallo,

gemacht, selber Fehler. Ich sollte vllt. erwähnen, dass es sich um einen Windows Server handelt. (Soweit ich weiß Windows Server 2008 R2)

ErrorDocument 401 C:/\*\*\*\*\*\*\*\*\*\*/htdocs/redirect.php

Gibt gleiche Fehlermeldung wie immer, wenn man vom Apache-Root Verzeichnis ausgeht spuckt der Browser:

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

und der Log:

[Thu Apr 15 22:07:41 2010] [error] [client ::1] Invalid URI in request GET /xampp HTTP/1.1

Gruß, sagitta1793

ErrorDocument 401 C:/**********/htdocs/redirect.php

eine URI ist eine ganz andere sache als ein PFAD

windows PFAD c:/…
ist ungleich

uri domain/…

da du nicht domain nehmen darfst, weil bei dir warscheinlich keine externen sachen erlaubt ist, und damit auch absolute urls verboten sind,

muss du deinen pfad relative zum server root angeben

htdocs ist das root, also dein startverzeichniss.

warum also c:/ … damit kann der server nix anfangen, denn c: ist ein protokoll welchers er garnicht kennt.

wir lernen eine URL ist http und mit slashes /
ein windows pfad statet mit dem festplattenbuchstaben und dann \

wie auch immer einfach

ErrorDocument 401 /redirect.php

der server weiss ja wo sein root ist.

ansonsten wäre es mal gut wenn du dir grundlagen anliesst, weil pfad url uri das sollte man schon wissen warum was wo hingehört.

deswegen gibt es informatik als studium.

Ich weiss fotographieren (klick) kann jeder, aber dennoch ist man weit ab vom photograph, der weiss was er tut und vor allem warum.

Hallo,

ErroDocument /redirect.php hatte ich auch schonmal, allerdings wird man sofort auf die Datei geleidet ohne das irgendein Passwort abgefragt wird.

Gruß, sagitta1793

Hallo,

ErroDocument /redirect.php hatte ich auch schonmal, allerdings
wird man sofort auf die Datei geleidet ohne das irgendein
Passwort abgefragt wird.

In dem Fall soll auch nicht nach einem Passwort gefragt werden, das ist ja nur ein Fehler dokument. Magst du anhand der neu gewonnen fähigkeiten vieleicht nochmal erklären was du eigentlich erreichen willst?

Grüsse
SeTA

Hallo,

aaaalso,
mein Root-Verzeichnis:
/.htaccess
/index.php
/redirect.php
/alt/.htaccess
/alt/…
/cms/.htaccess
/cms/…

Alles auser /alt /cms soll auf index.php umgeleitet werden, dass funktioniert mit ErrorDocument 404 /redirect.php perfekt. (Warum redirect.php und nicht index.php?: Wenn ich direkt auf die index verlinke sieht die fehlerhafte URL noch.)

Im Verzeichnis /alt habe ich mit htaccess eine Passwort Abfrage eingefügt:
AuthName „**********“
AuthType Basic
AuthUserFile „/**********/.htpasswd“
require valid-user

Die funktioniert auch ohne Probleme, wenn ich allerdings in der htaccess im Root-Verzeichnis: ErrorDocument 401 /redirect.php einfüge, wird KEIN Passwort mehr gefragt, sondern direkt umgeleitet, sobald man auf /alt geht.

Gruß, sagitta1793