.htaccess

  • Hallo,


    ich möchte gern einige Dateien durch über eine PHP Datei ausgeben. Dazu hab ich mir eine .htaccess Datei in dem betreffenden Verzeichnis erstellt, in der folgendes steht (das ist alles!):

    Apache Configuration
    RewriteEngine On
    RewriteRule (_secret*.*) GETFILE.PHP?file=$1

    Wenn ich nun Dateien aus diesem Verzeichnis aufrufe, bekomme ich einen 500 Internal Server Error:

    Code
    [B]Internal Server Error[/B]
    
    
    
    
     The server encountered an internal error or misconfiguration and was unable to complete your request.
     Please contact the server administrator, admin@meinedomain.de and inform them of the time the error occurred, and anything you might have done that may have caused the error.
     More information about this error may be available in the server error log.
      Apache/2.2.3 (Debian) PHP/5.2.0-8+etch13 Server at meinedomain.de Port 80

    meine speziellen vhost Direktiven sehen so aus:

    Warum geht das nicht? AllowOverride ist doch so eingestellt, dass ich alles darf...


    Diese Funktion mit der htaccess Datei hatte ich bisher auf meinem alten Webspace und das hatte funktioniert; Ich habe den gleichen Inhalt in der .htaccess Datei, wie dort.


    Kann mir wer helfen?

  • Okay, habs gefunden: Der rewrite Mod war nicht installiert.


    Code
    [B][COLOR=Red]/etc/apache2/mods-enabled[/COLOR][/B]$ ln -s ../mods-available/rewrite.load rewrite.load

    ausführen und apache2 neu starten

  • Zitat von benny;2528

    Okay, habs gefunden: Der rewrite Mod war nicht installiert.


    Code
    [B][COLOR=Red]/etc/apache2/mods-enabled[/COLOR][/B]$ ln -s ../mods-available/rewrite.load rewrite.load

    ausführen und apache2 neu starten


    Ich hab's gemacht, doch es hat nichts gebracht.:(


    Die Dateien mods-enabled und moda-available enthalten nichts.


    EDIT: In PHP steht, es wäre geladen. Aber rewriten tut er nicht.

  • Zitat von Littlerat;2534

    Ich hab's gemacht, doch es hat nichts gebracht.:(
    Die Dateien mods-enabled und mods-available enthalten nichts.
    EDIT: In PHP steht, es wäre geladen. Aber rewriten tut er nicht.


    "mods-enabled" und "moda-available" sind keine Dateien, sondern Ordner.
    mods-enabled


    mods-available


    Wie wärs, wenn Du einfach mal eine .htaccess Posten würdest. USB Glaskugeln sind immer noch nicht allmächtig. :rolleyes:

  • .htaccess:


    Und die von meinem TestWBB3:


  • Zitat von benny;2528

    Okay, habs gefunden: Der rewrite Mod war nicht installiert.


    Code
    [B][COLOR=Red]/etc/apache2/mods-enabled[/COLOR][/B]$ ln -s ../mods-available/rewrite.load rewrite.load

    ausführen und apache2 neu starten


    Für Anlegen (und spätere Löschen) der Links gibt es sogar spezielle Befehle: http://www.digipedia.pl/man/a2enmod.8.html
    Die machen allerdings auch nichts anderes. Und statt Neustart reicht auch "/etc/init.d/apache2 reload".

  • Es reicht bei einem SysCP System eigentlich ein "a2enmod rewrite" mit anschliessendem "etc./init.d/apache2 force-reload" aus um ein WBB3 nebst Rewrite zu aktivieren.


    Siehe www.nc10users.de *g*


    Hat dein WBB3 Ordner rekursiv chmod 777? (Reksuriv heisst der Ordner und alles was enthalten ist.)
    Das ist beim WBB3 nötig.

  • Zitat von [netcup] Alex;2539

    Es reicht bei einem SysCP System eigentlich ein "a2enmod rewrite" mit anschliessendem "etc./init.d/apache2 force-reload" aus um ein WBB3 nebst Rewrite zu aktivieren.


    Siehe www.nc10users.de *g*


    Hat dein WBB3 Ordner rekursiv chmod 777? (Reksuriv heisst der Ordner und alles was enthalten ist.)
    Das ist beim WBB3 nötig.


    Also

    Code
    a2enmod

    eintragen?


    Ja, WBB3 hat 777.

  • Ich habe einfach in meine /etc/apache2/httpd.conf folgendes hinzugefügt:

    Code
    <Directory />
       AllowOverride All
    </Directory>


    Und dann den Apache mit /etc/init.d/apache2 reload die Configs neu einlesen lassen :)



    MfG Christian

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Zitat

    [Tue Jan 20 19:42:47 2009] [alert] [client ****] /var/kunden/webs/tutbase/joomla/.htaccess: Options not allowed here


    Sagt die Errorlog.


    Eine unter /var/log gibt es nicht, nur unter /var/log/apache2, doch die enthält nichts brauchbares.

  • @sim4000: In diesem Block habe ich außerdem noch andere Allow & Deny Optionen stehen, das ist nicht der einzige Eintrag. Aber dann stelle es halt auf /var/kunden/webs. Ich verstehe nur nicht, was daran fahrlässig sein soll. Gefährlicher finde ich es, wenn keine einzige .htaccess Datei per default funktioniert und man sich z.B. darauf verlässt. Der Apache ladet eh nur die Inhalte der jeweiligen Kunden-Webs, was sollte daran also fahrlässig sein? Vielleicht übersehe ich hier etwas, aber was kann man mit dieser Apache Konfiguration großartig anrichten?



    MfG Christian

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Yo, jetzt geht es (bestimmt ist der Cronjob erst später angegangen.)


    Also, ich hab folgendes drinne:

    Code
    <Directory "/var/kunden/webs/kundenname">
    AllowOverride FileInfo
    Order allow,deny
    Allow from all
    </Directory>


    Der 500 kam durch die Option +. Hab das einfach auskommentiert, und schwupps geht es.:)

  • Hallo,


    möcht mich noch mal kurz einklinken:


    Vermutlich ist das wieder ein "Grenze" von dem SysCP, aber ich frag dochmal, vielleicht hab ich auch nur was übersehn:


    Ich möchte, dass der Web-Bereich des Servers selbst ebenfalls Passwortschutz über eine .htaccess Datei haben kann. Das blöde ist halt, das SysCP mir ja jedesmal die ganze vhost Configuration neu schreibt. Ich hab bei mir nämlich in den Anfangsbereich folgendes eingetragen (das mit rot markierte hab ich dazu gefügt)


    Gibt es eine Möglichkeit, dass im SysCP selbst auch einzutragen, dass der das da benutzt?


    Ich sehe sonst nur zwei Möglichkeiten:


    • nach jeder Domain Änderung selbst neuschreiben oder per Script in regelmäßigen Abständen prüfen und ggfls. einfügen
    • in der Datenbank von Hand an die Stelle eintragen


    Möglichkeit 1 ist eigentlich inakzeptabel, da ich ja nicht immer mitbekomme, wenn irgendwelche Domainänderungen gemacht werden und zweitens bedeutet das, das ab und an diese Sicherheitsmaßnahme nicht greift.


    Möglichkeit 2 weiß ich nicht wo ich das eintragen muss...


    mfg Benny