Stellen Sie die PHP-Datei mit htaccess relativ zur htaccess-Datei automatisch voran

8

Ich habe verwendet:

%Vor%

in meinem .htaccess , das sich in public_html Ordner befindet.

Wenn ich nun public_html/sub/index.php starte, bekomme ich diesen Fehler:

%Vor%

Wie kann auto_prepend_file flag verwendet werden, um eine Datei relativ zu .htaccess file einzuschließen?

    
Omid 28.01.2012, 13:06
quelle

3 Antworten

10

Die Datei muss in PHP include_path sein. Sie müssen also entweder das Verzeichnis der Datei in der include_path in der php.ini oder in der .htaccess mit einer php_value -Anweisung angeben.

%Vor%

Wenn Sie die obige Methode in .htaccess verwenden, müssen Sie die include_path von php.ini kopieren und die :/path_to/file_directory hinzufügen, damit Sie keine bereits benötigten Includes verlieren.

Alternativ fügen Sie :/path/to/file_directory zu include_path direkt in der php.ini

hinzu

Aktualisieren

Wenn Sie den include_path nicht ändern können, können Sie versuchen, einen relativen Pfad zum auto_prepend_file anzugeben. Dies sollte funktionieren, da der gesendete Dateipfad identisch verarbeitet wird, als ob er mit require() :

aufgerufen wurde %Vor%     
Michael Berkowski 28.01.2012, 13:10
quelle
5

In Ihrem .htaccess

%Vor%

Erstellen Sie als Nächstes 2 Dateien im Stammverzeichnis

1) /auto_append_file.php

%Vor%

2) /auto_prepend_file.php

%Vor%

Jetzt sollte es auf lokalen und Live-Servern unabhängig vom physischen Pfad oder der Website funktionieren, vorausgesetzt, dass jede Ihrer Websites die gleichen Dateinamen append.php und prepend.php verwendet.

    
Frankos 09.09.2013 11:33
quelle
1

Ich würde auch hinzufügen, dass Sie, wenn Sie die harten relativen Serverpfade nicht kennen (wie Shared Hosting und / oder PaaS, die dynamisch Pfade beim Neustart / Deploy generieren), dies tun können:

%Vor%

Im Wesentlichen ist dies Pseudodynamische Methode / Hack / Workaround zum Erreichen eines .htaccess-relativen DOCUMENT_ROOT-Includes (was NICHT in Apache möglich ist) wie folgt:

%Vor%

Zur Sicherheit, in prepend.php, ist es dann möglich, den Include-Pfad wie folgt zu deklarieren (zu den für die Anwendung passenden Pfaden):

%Vor%

Kann auch wie folgt aussehen, wenn die letzten Verzeichnisse vorhersehbar sind:

%Vor%     
Eric P 26.02.2016 10:35
quelle

Tags und Links