AliasMatch

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • AliasMatch

    Hab Folgendes in meine httpd.conf eingebaut:

    AliasMatch ^/([a-zA-Z0-9]+)/?(.*) /home/$1/public_html/$2

    Es bedeutet, dass alle Anfragen hostname.de/user nach /home/user/public_html umgeleitet werden.

    Allerdings will ich bestimmte Wörter davon ausschließen (z.B für phpmyadmin). Hat der Suchstring die gleiche Syntax wie der von den preg-Funktionen? Wenn ja, wie funktionert das Ausschließen (auch von mehreren begriffen)?

    Danke!

  • #2
    Re: AliasMatch

    Original geschrieben von der_Behr
    Hat der Suchstring die gleiche Syntax wie der von den preg-Funktionen?
    http://httpd.apache.org/docs/mod/mod....en#aliasmatch:

    This directive is equivalent to Alias, but makes use of standard regular expressions
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Des hab ich mir scho gedacht!

      Das Problem ist nur das Selbermachen mit den "Regulären Ausdrücken".

      Nachdem ich jetzt stundenlang Tutorials gewälzt habe stecke ich hier fest:

      Code:
      AliasMatch ^/(?!xampp|apache|webalizer)/?(.*) /home/$1/public_html/$2
      Soll bedeuten:
      Alles was nicht "xampp", "apache" oder "webalizer" ist, soll umgeleitet werden nach home/$1/public_html/$2. Dabei sollen $1+$2 für den Inhalt des jeweiligen Ausdruckes stehen (Username und Datei/Verzeichnis in /home/username/public_html).

      Problem:
      Der Verzeichnisinhalt von /home/username/public_html/ kann ausgelesen werden, aber nicht der von Unterordnern. Die Anzeige von Dateien (etwa html-Seiten), die im Verzeichnis liegen ist auch nicht möglich.

      Der Fehler muss bei "?(.*)" liegen - aber die Lösung find ich einfach nicht!

      Kommentar


      • #4
        AliasMatch ^/(?!xampp|apache|webalizer)/?(.*) /home/$1/public_html/$2


        was soll denn im fett markierten teil das ?! am anfang bedeuten?


        laut dem tutorial http://www.php-resource.de/tutorials/read/10/1/:

        (?!xxx)
        Negiert das angegebene Pattern und wirkt sich auf das vorangehende aus.

        Beispiel: /text1(?!text2)/
        Trifft auf eine Zeichenkette zu, die "text1" enthält, aber kein "text2" danach.


        so, und jetzt sag mir mal, welches pattern dem fett markierten noch vorausgeht ...?
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Ich habs jetzt anders gelöst:

          Code:
          AliasMatch ^/([a-zA-Z0-9]+)/?(.*) /home/$1/public_html/$2
          und für jedes Verzeichnis in der DocumentRoot einen Alias. Der Aufwand dafür hält sich recht in Grenzen.

          Kommentar

          Lädt...
          X