1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Deutsch
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  1. Informatik Forum
  2. Software und Anwendungen
  3. Tools und Produktivität

Apache2 directory-direktive

    • Problem
  • miro
  • 25. Oktober 2006 um 12:51
  • miro
    2
    miro
    Mitglied
    Punkte
    20
    Beiträge
    3
    • 25. Oktober 2006 um 12:51
    • #1

    hi,

    ich hab ein problem mit einer direktive, die auf /var/www - dem documentroot wirkt, sieht so aus:

    Apache Configuration
    RewriteEngine On
    RewriteRule ^/users - [L]
    RewriteCond users/%{REQUEST_URI} -d
    RewriteRule ^/(([a-z0-9]{4,20})(/.*)?)$ /users/$1/ [L]
    RewriteRule ^([a-z0-9]{4,20})$ /users/$1/
    RewriteRule (.+) /users/$1


    ..was bewirken soll, dass anfragen wie server.com/einstring auf server.com/user/einstring umgeschrieben werden. der string hat die bedingung, a-z0-9 zu sein, mit einer länge von 4-20 zeichen - was auch prima funktioniert.
    nur dummerweise funzt eine bestimmte sache nicht mehr; nämlich der zugriff auf documentroot selbst. soll heißen:

    server.com/einstring -> server.com/users/einstring - geht
    server.com/einstring/ -> server.com/users/einstring/ - geht
    server.com/einstring/einedate -> server.com/users/einstring/einedatei - geht

    das ergebnis sieht dann immer so aus, dass /users/ nicht sichbar ist, sondern die adresszeile immernoch server.com/einstring zeigt - ohne das /users/ halt.
    aber das problem ist ja nun, dass die simple anfrage server.com - eben auf den documentroot ein 403 forbidden liefert, anstatt die seite normal anzuzeigen.


    kann mir da jemand weiterhelfen?

    ciao

    xrmb2.net

  • J.Petso
    15
    J.Petso
    Mitglied
    Reaktionen
    14
    Punkte
    2.384
    Beiträge
    457
    • 25. Oktober 2006 um 18:01
    • #2

    Ich kenn mich ja mit den Apache RewriteRules nicht aus, aber wenn du die eine RewriteCond hast, kannst du da nicht einfach eine zweite dazustellen, so auf die Art wie: (Pseudocode mangels nötiger Syntaxkenntnisse)

    Code
    RewriteCond %{REQUEST_URI} != ""


    So dass die Regel beim Aufruf ohne was dahinter einfach nicht ausgeführt wird? Vielleicht vergess ich auch was oder hab grundsätzlich keine Ahnung :-§

    "Egbert B. Gebstadter is the Egbert B. Gebstadter of indirect self-reference." - Egbert B. Gebstadter

  • miro
    2
    miro
    Mitglied
    Punkte
    20
    Beiträge
    3
    • 25. Oktober 2006 um 22:19
    • #3

    hi,


    danke für deine bemühungen. ich habe nun nach längerem kopfzerbrechen das ganze umgeschrieben, nun funktioniert es, wie gewünscht...

    Apache Configuration
    RewriteEngine On
    RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
    RewriteRule . - [L]
    RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f
    RewriteRule . - [L]
    RewriteCond %{DOCUMENT_ROOT}/users/%{REQUEST_URI} -d
    RewriteRule ^(.+)$ /users/$1/ [L]
    RewriteCond %{DOCUMENT_ROOT}/users/%{REQUEST_URI} -f
    RewriteRule ^(.+)$ /users/$1 [L]


    ciao

    xrmb2.net

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Rechtliches

Impressum

Datenschutzerklärung

  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  • Deutsch
  • English
Zitat speichern