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
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  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

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung