liveag: mod_rewrite -> string in adresse einfügen

Hallo allerseits. Ich arbeite mich zur Zeit in das Zend Framework ein, und wie ihr vielleicht wisst, ist die index.php dort im normalfall im subdirectory public gelagert, in dem auch eine .htaccess-Datei mit mod_rewrite-Argumenten liegt (um virtuelle subdirectories auf die index.php zurückzuführen).

Diese Anwendung von mod_rewrite funktioniert bei mir ohne Probleme (was auch kein Wunder ist, copy&paste eben), woran ich mir jedoch die Zähne ausbeiße, ist mein versuch, direkt beim Zugriff auf das Projektdirectory den Zugriff auf das subdirectory public weiterzugeben.

Beispiele:

Aus /projekt wird /projekt/public
Aus /projekt/index wird /projekt/public/index
Aus /projekt/module/action wird /projekt/public/module/action

Vielen Dank für etwaige Rettungsversuche,
mfG, liveag.

  1. Hallo, ich bins nochmal.

    Also, mittlerweile habe ich die redirection auf meinem lokalen server zustande gebracht.

    Hier der Inhalt des .htaccess-files:

    RewriteEngine on
    RewriteRule  (.*) /mgmtsys/public$1

    Auf meinem remote-server (ubuntu server 9.04) scheint er die .htaccess-files jeoch komplett zu ignorieren, obwohl ich AllowOverride sowohl in der apache2.conf als auch in der sites-available/default auf All gesetzt habe...

    Hilfe!

    1. Hi,

      Also, mittlerweile habe ich die redirection auf meinem lokalen server zustande gebracht.

      Die ALIAS-Direktive wäre dafür eigentlich passender (aber nur nutzbar, wenn Zugriff auf die Serverkonfiguration besteht.)

      Auf meinem remote-server (ubuntu server 9.04) scheint er die .htaccess-files jeoch komplett zu ignorieren, obwohl ich AllowOverride sowohl in der apache2.conf als auch in der sites-available/default auf All gesetzt habe...

      Ah, gut - Zugriff hast du also. Dann würde ich obiges vorschlagen.

      Zum Problem: Ist AccessFileName auch so knfiguriert, dass der Name für Verzeichnis-Konfigurationsdateien .htaccess lautet?
      Was sagen die diversen Logfiles zu einem Request, bei dem deine .htaccess "scheinbar ignoriert" wird?

      MfG ChrisB

      --
      Light travels faster than sound - that's why most people appear bright until you hear them speak.
      1. Hi

        Die ALIAS-Direktive wäre dafür eigentlich passender (aber nur nutzbar, wenn Zugriff auf die Serverkonfiguration besteht.)

        Nunja, diese Methode des redirects werde ich wohl bei jedem ZF-Projekt anwenden (falls es denn klappen sollte), und es ist mir nicht wohl dabei, jedes mal den apache-daemon neustarten zu müssen, wenn ich ein neues projekt erstelle.

        Zum Problem: Ist AccessFileName auch so knfiguriert, dass der Name für Verzeichnis-Konfigurationsdateien .htaccess lautet?

        Interessant ist, dass ich diesen Eintrag in meiner lokalen httpd.conf nirgends finde, in meiner apache2.conf auf dem Server hingegen sehrwohl.
        Außerdem ist mir mittlerweile aufgefallen, dass die .htaccess-files bei Verwendung des http-Protokolls funktionieren, bei verwendung des https-Protokolls hingegen nicht. (Der Unterschied in der Ausführung besteht darin, dass der VirtualHost für http in der Datei default, der VirtualHost für https in der Datei default-ssl liegen. Diese Dateien gleichen sich jedoch bis auf die Konfiguration von ssl in der default-ssl und das Blocken zweier Directories in der default.)

      2. Da ich mit meinem .htaccess-File auch sonst Probleme bekommen habe, greife ich doch lieber auf die Methode mit dem Alias zurück. Das Problem ist, dass ich es zum Beispiel nicht schaffe, /mgmtsys direkt /mgmtsys/public zu Aliasen,
        Es aber auch nicht schaffe, z.B. von /mgmtsys auf /var/projects/mgmtsys/public (nicht in DocumentRoot) zu linken.
        (Was ich damit erreichen will, dürfte klar sein. Ich will die Directories verstecken, in denen meine Application herumliegt, und nur das index.php im Verzeichnis public zugreifbar halten.)