Mod_Rewrite - kleine Umleitung

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

  • Mod_Rewrite - kleine Umleitung

    Hallo,
    ich habe zwei kleine fragen und würde mich sehr freuen, wenn mir da jemand unter die arme greifen könnte.

    Die entsprechende index.html liegt in einem variablen unterordner (namen ändern sich) und soll in die darin enthaltene index.php beim aufruf umgeleitet werden.

    ich habe nun folgenden code:

    Code:
    RewriteEngine on
    RewriteBase /staff/[I]variable unterordner[/I]
    RewriteRule ^index\.html$ /index.php [R=301,L]
    leider weiß ich nicht, wie ich den unterordner deklarieren soll
    und meine zweite frage wäre, wo ich die htaccess nun legen soll, damit ich keine absoluten RewriteBase-Angaben machen muss.
    (die .htaccess liegt momentan im ordner staff)

    edit:
    habs jetzt die RewriteRule in RewriteRule ^([A-Za-z0-9_]+)/index.html$ index.php [R=301,L] geändert. Leider springt er dann immer ins Root und bleibt nicht im Ordner??!
    Zuletzt geändert von matcho; 05.05.2010, 14:38.

  • #2
    Hallo,

    erstmal würde ich den zusätzlichen Roundtrip einsparen, indem du die 301-Umleitung bleiben lässt, also nur [L] statt [R=301,L].

    Dann musst du das Ziel der Regel auch so angeben, wie du es haben willst. Wenn du nur index.php hinschreibst, kann er auch nur auf die im Stammverzeichnis verweisen, um den Ordner weiterzubenutzen, musst du das gespeicherte Subpattern abrufen:

    Code:
    RewriteRule ^([A-Za-z0-9_]+)/index.html$ $1/index.php [L]
    Gruß,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      gut, wenn die htaccess in staff liegt und ich will die unterordner ansprechen, benötige ich doch gar nicht den RewriteBase...

      also momentan sieht der Code folgendermaßen aus und es passiert nix beim aufruf von www.domainname.de/staff/zbErwin/index.html

      Code:
      RewriteEngine on
      RewriteBase /
      RewriteRule ^([A-Za-z0-9_]+)/index.html$ $1/index.php [L]


      /edit: ich seh grad, er macht theoretisch schon das richtige, nur fehlen einige ordner vor staff

      The requested URL /brandt/index.php was not found on this server.


      wie könnte ich in der anweisung die komplette url zwischenspeichern, so dass er diese auch wieder aufruft?

      /edit²: ich habe jetzt den RewriteBase angegeben und es funktioniert (denken, drücken, posten...)
      Zuletzt geändert von matcho; 05.05.2010, 15:04.

      Kommentar


      • #4
        Probier mal das:

        Code:
        RewriteRule ^(.+)/index.html$ $1/index.php [L]
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Kommentar

        Lädt...
        X