DocumentRoot for Deny verarbeiten.

Alles, was den Apache betrifft, kann hier besprochen werden.

DocumentRoot for Deny verarbeiten.

Postby Alexey » 01. September 2005 16:51

Hallo allerseits,

ich habe folgendes problem. Ich habe mit
Code: Select all
<Directory />
      Options -FollowSymLinks -Includes -Indexes -IncludesNOEXEC
      Deny from All
</Directory>


zunächst den Zugriff auf DocumentRoot komplett gesperrt. Weiter unten erlaube ich unter anderem HTM-Dateien

Code: Select all
<FilesMatch "\.(htm|gif|png|jpg|ico)$">
   Allow from All
</FilesMatch>


außerdem habe ich folgendes drin:
Code: Select all
DirectoryIndex news.htm


Eigentlich sollte beim aufruf von domain.de die Datei domain.de/news.htm aufgerufen werden, aber der apache blockt den Zugang zum root-verzeichnis, wie ich ihm das am anfang gesagt habe. Wenn ich die HTM-Datei manuell aufrufe klappt es.

Wie kann ich also den Apache veranlassen zuerst die "DocumentRoot" Direktive zu vearbeiten damit der "Forbidden"-Fehler beim aufruf der reinen Domain nicht kommt?
Alexey
 
Posts: 6
Joined: 25. August 2005 23:21

Postby deepsurfer » 01. September 2005 17:02

Apache.org Handbuch wrote:Beachten Sie, dass <Files>-Anweisungen innerhalb von <Directory>-Containern auftreten können, um den Teil des Dateisystems einzuschränken, den sie betreffen.


Da das FilesMatch zur Files "Familie" gehört sollte Deine Anweisung innerhalb der <Directory> stehen, also da wo du alles verbietest, da dort auch der Ausgangpunkt (Pfad) definiert wird.


Die FilesMatch Anwesiung alleine und ohne zusammengehörigkeit wird in .htaccess dateien verwendet.


Quelle:
http://httpd.apache.org/docs/2.0/mod/core.html#files
chirio Deep
Wie sagte einst der MCP aus Tron auf dem Bildschirm zu schreiben Pflegte
" ... end of communication ... "
User avatar
deepsurfer
AF Moderator
 
Posts: 6440
Joined: 23. November 2004 10:44
Location: Cologne
Operating System: Win-XP / Win7 / Linux -Debian

Postby Alexey » 03. September 2005 14:24

Sorry für die späte Antwort, hatte an ein paar anderen Problemen am CMS zu kämpfen :).

Die FilesMatch Anwesiung alleine und ohne zusammengehörigkeit wird in .htaccess dateien verwendet.


Aber sie funktioniert VirtualHost-Definitionen, jedenfalls hat ja meine Anweisung mit dem Erlauben der bestimmten Dateien funktioniert. Oder habe ich etwas übersehen?

Ich habe wie du gesagt hast das "DirectoryIndex" in den Haupt-Directory-Block hinzugefügt, aber es gibt immer noch ein "Forbidden"-Error wenn ich den index aufrufe. So sieht er jetzt aus:
Code: Select all
   <Directory />
      #Options -FollowSymLinks -Includes -Indexes -IncludesNOEXEC
      Deny from All
      DirectoryIndex news.de.htm
   </Directory>
Alexey
 
Posts: 6
Joined: 25. August 2005 23:21

Postby Wiedmann » 03. September 2005 15:14

Eigentlich sollte beim aufruf von domain.de

Die URI bei diesem Aufruf lautet ja korrekt: "http://domain.de/".

Diese URI ist ja aber bei dir verboten. Erlaubt wäre "/news.htm". Auch wenn bei einem Aufruf von "/" tatsächlich das Document "news.htm" ausgeliefert wird durch das DirectoryIndex. (die URI in der Adresszeile vomn Browser ändern sich ja auch nicht.)
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Alexey » 04. September 2005 01:30

Hmm. Ja, und was mach ich dann? :?

EDIT: Wie macht man den sowas normalerweise? Im prinzip möchte ich nur dass der User bei Eingabe von www.domain.de die Seite www.domain.de/news.de.htm angezeigt bekommt.

EDIT2: Ok also ich hab folgendes "gebastelt" und es funktioniert soweit ich sehen kann, wie ich es wollte.

Code: Select all
DirectoryIndex news.htm
<Directory />
      <FilesMatch "!(\.(htm|gif|png|jpg|ico)$)">
      #Options -FollowSymLinks -Includes -Indexes -IncludesNOEXEC
      Order Deny,Allow
      Deny from All
      </FilesMatch>
   </Directory>

Kann man das noch "optimieren" oder "schöner" machen?
Alexey
 
Posts: 6
Joined: 25. August 2005 23:21


Return to Apache

Who is online

Users browsing this forum: No registered users and 4 guests