setzen von Variable in htaccess

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

  • setzen von Variable in htaccess

    Kann man mittels einer htaccess-Datei, die PHP-Variable $_SERVER['DOCUMENT_ROOT'] ändern?
    Bei all-inkl kann man sich subdomains auf ein Unterverzeichnis legen. Dabei wird jedoch dann das $_SERVER['DOCUMENT_ROOT'] für die Subdomain direkt in das Verzeichnis gelegt, aber dann funktionieren die ganzen includes etc. ja nicht, weil ja der Unterordner zuviel ist -.-

    und gibt's ne Möglichkeit per htaccess einen Alias zu kreieren? Die Alias-Direktive geht ja nicht in htaccess-Dateien
    Zuletzt geändert von ghostgambler; 21.08.2005, 00:53.

    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
    Wie man Fragen richtig stellt

  • #2
    Schau dich mal hier um und experimentiere ein wenig. Ich weiß nicht, ob PHP seine Umgebungsvariablen aus denen von Apache generiert und selbst wenn, ob es in diesem speziellen Fall dann nach der Verarbeitung der htaccess geschieht. Aber einen Versuch ist es wert.

    Allerdings ist der näherliegende Weg hier beschrieben. Ob man allerdings auf $_SYSTEM o.ä. einwirken kann, weiß ich nicht.

    Kommentar


    • #3
      Problem bei eins scheint das zu sein
      Sets an environment variable, which is then passed on to CGI scripts and SSI pages.
      PHP läuft als ApacheHandler...ich schätze deshalb hat es nicht funktioniert...das andere sieht gut aus, guck ich mir heute Abend mal an ^^

      Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

      bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
      Wie man Fragen richtig stellt

      Kommentar


      • #4
        Original geschrieben von ghostgambler
        das andere sieht gut aus, guck ich mir heute Abend mal an ^^
        oder auch nicht...hab's wohl heut morgen nicht auf die Kette gekriegt den Text zu lesen
        ...ich könnt's höchstens mit Änderung von include_path probieren, aber wirklich toll find ich die Lösung nicht

        Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

        bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
        Wie man Fragen richtig stellt

        Kommentar


        • #5
          Re: setzen von Variable in htaccess

          Original geschrieben von ghostgambler
          Bei all-inkl kann man sich subdomains auf ein Unterverzeichnis legen. Dabei wird jedoch dann das $_SERVER['DOCUMENT_ROOT'] für die Subdomain direkt in das Verzeichnis gelegt, aber dann funktionieren die ganzen includes etc. ja nicht, weil ja der Unterordner zuviel ist
          Hm, du hast also einen Ordner 'docroot', der ist das Startverzeichnis für domain1. Dann hast du 'docroot/sub' für domain2.

          Wieso sollte $_SERVER['DOCUMENT_ROOT'] unter domain2 nun auf 'docroot' zeigen?
          Alle Includes, die du für Scripte unter domain2 brauchst liegen entweder unterhalb von sub oder ganz bewußt außerhalb und es sollte dir gar nicht erst einfallen, die mit $_SERVER['DOCUMENT_ROOT'] zu erreichen - schließlich würdest du für domain1 auch nie auf diese Idee kommen.

          Ist doch das gleiche, als hätte man eine passwords.inc.php auf einem Webspace mit nur einer Domain oberhalb des Docroots gepackt. Das macht man, damit sie nicht direkt aufgerufen werden kann. Der Docroot ist eine Art Sicherheitszone (eigentlich eher Unsicherheits-, denn sicher ist es ja außerhalb). Wenn du die Variable nun änderst, verlierst du diese Sicherheit.

          Hol dir die Includes lieber über dirname(__FILE__).'/..' oder so. So würde man sich die passwords.inc.php auch angeln.

          (ps: dirname hier nur als Ansatz verstehen)
          Zuletzt geändert von onemorenerd; 22.08.2005, 00:20.

          Kommentar


          • #6
            Re: Re: setzen von Variable in htaccess

            Original geschrieben von onemorenerd
            Hm, du hast also einen Ordner 'docroot', der ist das Startverzeichnis für domain1. Dann hast du 'docroot/sub' für domain2.

            Wieso sollte $_SERVER['DOCUMENT_ROOT'] unter domain2 nun auf 'docroot' zeigen?
            Alle Includes, die du für Scripte unter domain2 brauchst liegen entweder unterhalb von sub oder ganz bewußt außerhalb und es sollte dir gar nicht erst einfallen, die mit $_SERVER['DOCUMENT_ROOT'] zu erreichen - schließlich würdest du für domain1 auch nie auf diese Idee kommen.
            genau das will ich aber ^^
            Das komplette Layout (smarty) und die error-docs liegen in dem docroot, und ich will jetzt zwar andere Seiten (meine persönliche Seite, als Unterpage), aber die gleiche Technik benutzen. Und damit, wenn ich eines meiner Smarty-Plugins umändere, nicht zwei Mal das Ding speichern muss (weil ich das garantiert mal irgendwann vergesse und mich dann wundere >_>), wollte ich dieselben Verzeichnise benutzen...

            Hol dir die Includes lieber über dirname(__FILE__).'/..' oder so. So würde man sich die passwords.inc.php auch angeln.

            (ps: dirname hier nur als Ansatz verstehen)
            werd ich dann wohl müssen -.-
            oder document_root am Anfang jedes Skriptes um einen Kürzen

            Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

            bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
            Wie man Fragen richtig stellt

            Kommentar


            • #7
              wie siehts denn mit nem SymLink in das entsprechde Verz aus?

              /smarty
              /sub/smarty -> ../smarty

              ???

              Kommentar


              • #8
                Original geschrieben von prego
                wie siehts denn mit nem SymLink in das entsprechde Verz aus?
                kann ich den mit FTP kreieren?
                hab leider keinen root-Zugriff...auch wenn ich mir überlegen nen VirtualServer zu mieten, dann wäre das Problem Geschichte ^^, aber da konnt ich mich noch nicht für einen Anbieter entscheiden

                Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                Wie man Fragen richtig stellt

                Kommentar


                • #9
                  Afaik per FTP nicht - brauchst ja keinen root zugriff, nur nen freundlichen Admin oder nen shell zugriff auf deinen Webspace.

                  Was du auch probieren kannst ist den Link mit

                  PHP-Code:
                    exec("ln -s <target> <linkname>"); 
                  zu erzeugen....

                  Kommentar

                  Lädt...
                  X