tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von guenter024
ERLEDIGT
NEIN
ANTWORTEN
8
ZUGRIFFE
183
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    flohaase flohaase ist offline Rookie
    Registriert seit
    Jul 2011
    Beiträge
    7
    Hey Jungs

    Ich habe ein Problem mit mod_rewrite und zwar will ich einen "/" Slash als Trennungszeichen benutzen.

    Hier die .htaccess:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
    RewriteEngine On
     
    RewriteBase /testordner auf meinem Server/
     
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
     
    RewriteRule ^startseite$ startseite.php
    RewriteRule ^geschichte$ geschichte.php
    RewriteRule ^mitglieder$ mitglieder.php
    RewriteRule ^mitglieder/tobi$ tobi.php

    Die Link gehen vom Root aus:

    Code :
    1
    
    <a href="/testordner auf meinem Server/mitglieder/tobi">

    Es wird für jedes Mitglied eine eigenen .php-Seite geben.

    Die normalen Links klappen alle, aber nicht die mit "/" drin. Ich will es eig. nur wegen der Optik und der Userfreundlichkeit.

    Derzeit bleibe ich einfach auf der Mitglieder-Seite, die URL verändert sich, aber der Inhalt nicht.

    Vielen Dank, Gruß Flo
    Geändert von flohaase (30.07.11 um 12:38 Uhr)
     

  2. #2
    Avatar von guenter024
    guenter024 guenter024 ist offline Mitglied Silber
    Registriert seit
    Jul 2007
    Beiträge
    98
    In der Hoffnung das ich jetzt nicht voll daneben liege:

    Das Problem liegt denke ich darin, dass der webserver bei mitglieder/tobi den URL-Teil vor dem Slash als Verzeichnis vermutet (was es aber ja wahrscheinlich nicht so ist, oder?).

    Du solltest auch die URLs immer mit einem Slash abschließen.

    Mehr über mod_rewrite findest du hier:
    http://httpd.apache.org/docs/2.0/misc/rewriteguide.html
    flohaase bedankt sich. 

  3. #3
    flohaase flohaase ist offline Rookie
    Registriert seit
    Jul 2011
    Beiträge
    7
    Ich habe diesen Teil jetzt übersprungen und einfach mal an der Homepage weitergemacht.

    Komischerweise geht ^admin/login$ admin/login.php ohne Probleme.

    Ein ähnliches Problem habe ich noch öfters.

    ^admin/guestBookEdit/id/([0-9]*)$ admin/guestBookEdit.php?id=$1 geht nicht, aber
    ^admin/guestBookEditt/id/([0-9]*)$ admin/guestBookEdit.php?id=$1 geht.

    Echt komisch :/
     

  4. #4
    chibisuke chibisuke ist offline Mitglied Brillant
    Registriert seit
    Sep 2003
    Beiträge
    807
    Versuch mal MultiView abzuschalten. Das könnte dir an der stelle möglicherweise nen strich durch die rechnung machen.
     

  5. #5
    flohaase flohaase ist offline Rookie
    Registriert seit
    Jul 2011
    Beiträge
    7
    Ich habe jetzt noch weitere Bereiche eingefügt wie z.B. gaestebuch/neuereintrag -> guestBookNewEntry.php und das klappt auch ohne Probleme.

    Wie schalte ich das aus?
     

  6. #6
    chibisuke chibisuke ist offline Mitglied Brillant
    Registriert seit
    Sep 2003
    Beiträge
    807
    Options -Multiviews
     

  7. #7
    aGeNET aGeNET ist offline Mitglied Gold
    Registriert seit
    May 2007
    Beiträge
    113
    Hi, probier mal die Slashes zu escapen, zb:
    Code :
    1
    
    ^admin\/guestBookEdit\/id\/([0-9]*)$ admin/guestBookEdit.php?id=$1
    manchmal ist das leider notwendig
     

  8. #8
    flohaase flohaase ist offline Rookie
    Registriert seit
    Jul 2011
    Beiträge
    7
    Beim Gästebuch klappt es ohne escapen, nur bei diesem einem Beispiel nicht. Beim "Mitglieder"-Beispiel habe ich es auch schon mit escapen probiert.

    Ok, ich werde die Multiviews deaktivieren und mich dann wieder melden. Was genau macht das Multiview eig?

    Vielen Dank
     

  9. #9
    chibisuke chibisuke ist offline Mitglied Brillant
    Registriert seit
    Sep 2003
    Beiträge
    807
    MultiView ist ein modul das versucht dateierweiterungen und ähnliches automatisch zu erkennen

    Du hast beispielsweise eine datei
    /bla/test.php

    Dann kannst du diese eben mit
    /bla/test aufrufen

    allerdings erweitert multiview auch files im pfad
    sprich
    /bla/test/asdf
    wird trotzdem /bla/test.php aufrufen.

    Je nachdem wie es configoriert ist.

    Ursprünglich wurde das Modul entwickelt um unterschiedliche sprachversionen zu haben.

    Beispielsweise sendet der Browser einen header für "deutsch" bei der anfrage nach index.html
    würde multiview eine index.html.de oder index.de.html ausliefern.

    aus dem apache manual
    The effect of MultiViews is as follows: if the server receives a request for /some/dir/foo, if /some/dir has MultiViews enabled, and /some/dir/foo does not exist, then the server reads the directory looking for files named foo.*, and effectively fakes up a type map which names all those files, assigning them the same media types and content-encodings it would have if the client had asked for one of them by name. It then chooses the best match to the client's requirements.
     

Ähnliche Themen

  1. Alle IPs "sperren". Meine 2 IPs durchlassen. mod_rewrite
    Von suntrop im Forum Hosting & Webserver
    Antworten: 1
    Letzter Beitrag: 07.03.11, 11:03
  2. vCal auslesen: Zeit ":" wird als Trennungszeichen interpretiert
    Von DrMueller im Forum Internetkommunikation
    Antworten: 0
    Letzter Beitrag: 06.09.10, 14:46
  3. Antworten: 4
    Letzter Beitrag: 25.08.10, 19:13
  4. mod_rewrite erzeugt "Geisterverhalten"
    Von Sprint im Forum Hosting & Webserver
    Antworten: 0
    Letzter Beitrag: 17.11.09, 17:49
  5. mod_rewrite "baum" zu "b/index.php......"?
    Von Andreas Späth im Forum Hosting & Webserver
    Antworten: 2
    Letzter Beitrag: 14.05.07, 14:43

Stichworte