kostenloser Webspace werbefrei: lima-city


Unterordner mit ModRewrite verstecken

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    webdesignerin

    Kostenloser Webspace von webdesignerin

    webdesignerin hat kostenlosen Webspace.

    Hallo! :wave:

    Ich weiß zwar, dass man mit einer Rewrite Rule so tun kann, als ob eine Datei oder ein Ordner existieren würde, aber ich weiß nicht, wie dies umgekehrt geht. Sprich: Ich möchte, dass www.meine-domain.de/ordner/seite.php zu www.meine-domain.de/seite.php wird und darüber auch aufrufbar ist. Kann mir da jemand helfen?

    Danke schonmal im Vorraus für Eure Hilfe. :thumb:


    Gruß,
    webdesignerin :angel:
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. k*b

    Ich hab zwar schon lange her mit htaccess gearbeitet, aber würde es auf diese Weise gehen?

    Redirect home/ordner/seite/ home/

    Und die Datei dann ins home-Verzeichnis packen? Oder verstehe ich dich falsch?
  4. Autor dieses Themas

    webdesignerin

    Kostenloser Webspace von webdesignerin

    webdesignerin hat kostenlosen Webspace.

    Hallo! :wave:

    Nein, genau anders herum sollte es sein. Die Datei ist nicht im home Verzeichnis, sondern im Unterordner. Ich wollte halt für mich persönlich Ordnung im Verzeichnis schaffen, aber ohne dass es Besucher durch den Pfad merken. Außerdem ist ein höheres Verzeichnis für eine Datei immer von Vorteil bei der Suchmaschinenoptimierung. Deshalb möchte ich halt, dass die Dateien, welche ich in Unterordnern habe, so behandelt wären, als wären sie im home Verzeichnis und an der URL muss man das halt sehen können. Ich bin mir selbst nicht sicher, ob das überhaupt geht, aber deshalb frage ich ja hier.

    Ich versuch nochmal es besser zu erklären...

    Die Datei Seite.php liegt in einem Unterordner. Wenn ich jetzt also die Seite.php aufrufen möchte, muss ich www.meine.domain/unterordner/seite.php in die Browserzeile eingeben, damit ich auf Seite.php komme. Und ich möchte jetzt aber stattdessen www.meine-domain.de/seite.php eingeben, um auf die entsprechende Seite zu kommen.


    Edit: Problem gelöst! Danke an thomasba für den unten stehenden Lösungsansatz im Support-Chat:

    RewriteEngine on
     
    RewriteBase /
     
    ## Möglichkeit 1, wenn Datei nicht existiert, in anderem Ordner aufrufen:
     
    # Prüfen ob Datei existiert, wenn nicht dann die nächste Regel
    RewriteCond %{REQUEST_FILENAME} !-f
    
    # Hier geschieht dann die eigentlich Umschreibung
    RewriteRule ^(.+) unterordner/$1
    
    
    ## Möglichkeit 2, von Vorteil, wenn es selten neue Dateien dazukommen
     
    # Das (.*) und $1 sind wichtig, da sonst eventuelle Parameter verloren gehen
    RewriteRule ^seite.php(.*) unterordner/seite.php$1


    Der einzige Haken daran ist, dass Möglichkeit Nr. 1 nur mit einem, aber nicht mehreren Unterodnern benutzt werden kann. Wenn man mehrere Unterordner hat, muss man leider Möglichkeit Nr. 2 in Betracht ziehen und alle darin enthaltenen Seiten von Hand in die Regel eintragen. So habe ich es auch machen müssen. Auch wenn es Viele sind, so bleibt doch der der Trost, dass man's eigentlich nie wieder machen muss, wen man's einmal gemacht hat. :wink:


    Gruß,
    webdesignerin :angel:

    Beitrag zuletzt geändert: 25.8.2011 12:21:12 von webdesignerin
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!