Apache Pfad-Variable in htaccess
Horst Nogajski
- webserver
Hallo,
kann man, (und wenn ja, wie kann man) den Wert der Variablen 'DOCUMENT_ROOT' in einer htaccess Datei nutzen?
Also ich meine:
Wie schreib' ichs richtig, wenn ich den Pfad von /dir1/dir2/ innerhalb vom Docroot angeben möchte?
DOCUMENT_ROOT /dir1/dir2/
Viele Grüße,
Horst
hallo Horst,
kann man, (und wenn ja, wie kann man) den Wert der Variablen 'DOCUMENT_ROOT' in einer htaccess Datei nutzen?
DOCUMENT_ROOT ist keine Variable in dem Sinn, den eine .htaccess unmittelbar versteht. Und da die .htaccess selbst im DocumentRoot liegen muß, kann sie ihren eigenen Ablageort nicht so einfach per Variable verändern. Die Anweisung DocumentRoot ist laut http://httpd.apache.org/docs-2.0/mod/core.html#documentroot in .htaccess nicht zulässig.
Wenn du genauer angibst, was du gerne machen möchtest, ist möglicherweise eine Umleitung das Richtige für dich - und das geht dann in einer .htaccess.
Grüße aus Berlin
Christoph S.
Hallo Christoph,
DOCUMENT_ROOT ist keine Variable in dem Sinn, den eine .htaccess unmittelbar versteht. Und da die .htaccess selbst im DocumentRoot liegen muß, kann sie ihren eigenen Ablageort nicht so einfach per Variable verändern. Die Anweisung DocumentRoot ist laut http://httpd.apache.org/docs-2.0/mod/core.html#documentroot in .htaccess nicht zulässig.
Ja, klar, die Directive DocumentRoot ist nicht in htaccess Dateien zulässig, sondern nur in der Servergrundkonfiguration und in VirtualHost-Bereichen.
Ich glaube, ich habe mich auch nicht besonders deutlich ausgedrückt.
Ich wollte nicht den Wert setzen/verändern, sondern ihn nur auslesen.
Und das aus reiner Faulheit, ;-)
Ich bin gerade dabei ein (leeres) Gerüst für adhoc-webseiten zu erstellen, in denen alle Grundeinstellungen/Dateien, die ich dafür standardmässig verwende (Verzeichnisse, PHP-Klassen usw), schon enthalten sind.
In den PHP-Scripten bastele ich mir die Pfade immer mittels $_SERVER['DOCUMENT_ROOT'] zusammen. So kann man die Seite dann von einem Webhoster zu einem anderen verlegen, ohne das man irgendwelche 'hart' eingegebenen Verzeichnispfade ändern muß. Naja, und da ich auch einige htaccess-dateien habe, dachte ich, da die Variable ja von Apache kommt, steht sie vielleicht auch in htaccess-dateien zur Verfügung (für z.B. AuthGroupFile %{DOCUMENT_ROOT}/geheimerordner/.htgroups).
Viele Grüße,
Horst
hallo Horst,
Ich glaube, ich habe mich auch nicht besonders deutlich ausgedrückt.
Ich wollte nicht den Wert setzen/verändern, sondern ihn nur auslesen.
Ich vermutete sowas, aber es war aus deiner Fragestellung tatsächlich nicht klar herauszulesen.
In den PHP-Scripten bastele ich mir die Pfade immer mittels $_SERVER['DOCUMENT_ROOT'] zusammen.
Dann ist es eine PHP-Variable.
Naja, und da ich auch einige htaccess-dateien habe, dachte ich, da die Variable ja von Apache kommt, steht sie vielleicht auch in htaccess-dateien zur Verfügung (für z.B. AuthGroupFile %{DOCUMENT_ROOT}/geheimerordner/.htgroups).
Das "Auslesen" kenne ich, aber mit den Möglichkeiten, solche Variablen in einem Script eventuell neu zu setzen, habe ich mich noch nicht beschäftigt. Prima, hab ich ja was am Wochenende zu basteln ;-)
Prinzipiell sollte es möglich sein, den Wert von $_SERVER['DOCUMENT_ROOT'] in eine neue eigene Variable $htaccess zu übernehmen und mit dieser Variablen dann herumzuspielen, um auf einem anderen Server dann die dort liegende .htaccess zu manipulieren oder zu erstellen. Hab ich, wie gesagt, noch nicht probiert, das ist aber eine nette Wochenend-Aufgabe, schaun mer mal.
Grüße aus Berlin
Christoph S.