Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem mit .htaccess

Einklappen

Neue Werbung 2019

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

  • Problem mit .htaccess

    Hallo,

    ich hab ein CakePHP Projekt mit der Struktur im root:

    /app
    /lib
    /resource
    .htaccess
    index.php

    In der htaccess steht:

    Code:
    <IfModule mod_rewrite.c>
       RewriteEngine on
       RewriteRule    ^$ app/webroot/    [L]
       RewriteRule    (.*) app/webroot/$1 [L]
    </IfModule>
    Funktioniert soweit auch alles. http://url/projekt (landet im root) leitet auf den entsprechenden Ordner weiter. Nun möchte ich allerdings den resource Ordner davon ausnehmen. Also das ich http://url/projekt/resources aufrufen kann ohne das cakephp darauf reagiert und das zb als controller interpretiert.

    In Resources liegen ein paar Projektdateien die ich im Browser ausführen möchte.

    Danke für die Hilfe
    LG
    Ralf

  • #2
    auch wenn mir etwas unklar ist, was du vorhast, kannste ja rewrite conditions angeben.

    Kommentar


    • #3
      Angesehen davon gibt es in CakePHP für sowas den Ordner /app/webroot/files
      [IMG]http://media.ubuntuusers.de/portal/files/ubuntu.png[/IMG][IMG]http://sqlmanager.net/i/ico/mysql.gif[/IMG][SIGPIC][/SIGPIC]

      Kommentar


      • #4
        Hi,

        also, alles was nach http://url/projekt/ folgt wird ja von Cake Interpretiert. http://url/projekt/pages ruft den pages Controller auf usw. Ich möchte das der Ordner http://url/projekt/ressources aber nicht interpretiert wird, sonden als Pfad angenommen wird, wie es in der Verzeichnisstruktur ist.

        Ich habe mal das versucht:
        Code:
        <IfModule mod_rewrite.c>
          RewriteEngine on
          RewriteCond    %{REQUEST_URI} !^/resources
          RewriteRule    ^$ app/webroot/    [L]
          RewriteRule    (.*) app/webroot/$1 [L]
        </IfModule>
        Das klappt aber nicht, anstatt auf http://url/projekt/resources lande ich in http://url/resources/resources

        LGK

        Kommentar


        • #5
          kann mich ja irren aber das dach steht für Anfang.
          Und es gibt die Möglichkeit rewrite zu loggen, da irre ich mich nicht.

          Kommentar


          • #6
            Du brauchst dafür gar nicht die htaccess anpassen.

            Alle dateien innerhalb von app/webroot werden unbehandelt ausgegeben. Das heißt wenn du deinen /resources Ordner einfach verschiebst nach /app/webroot/resources oder nach /app/webroot/files/resources, dann kannst du die Dateien ganz normal aufrufen mit example.org/resources/... bzw. example.org/files/resources/....

            Wenn du es unbedingt mit .htaccess machen willst, muss deine RewriteCond vor die 2. Regel, nciht vor die erste Regel.
            [IMG]http://media.ubuntuusers.de/portal/files/ubuntu.png[/IMG][IMG]http://sqlmanager.net/i/ico/mysql.gif[/IMG][SIGPIC][/SIGPIC]

            Kommentar


            • #7
              Dafür sind in Cake Routen zuständig...

              Die Standardroute wird natürlich versuchen, einen Request auf eine physisch nicht vorhandene Resource nach dem Cakestandard zu interpretieren (dh. einen Controller anzusprechen), aber m.W.n. kann man das Verhalten sehr individuell und gezielt beeinflussen.
              Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

              Kommentar

              Lädt...
              X