(Gelöst) Apache Environment Variable SCRIPT_URI fehlt
Posted: 2007-01-18 01:40
Folgende Pakete habe ich installiert:
Installation von Debian minimal CD (Linux version 2.6.8-3-386 (pbuilder@dl360-g3) (gcc version 3.3.5 (Debian 1:3.3.5-13)) #1 Wed Dec 6 00:38:53 UTC 2006)
apache2 (Apache/2.0.54 (Debian GNU/Linux))
mysql-server-5.0 (MySQL 5.0.32-Dotdeb_1)
php5 (PHP Version 5.2.0-0.dotdeb.3)
libapache2-mod-php5
libapache2-mod-auth-mysql
php5-mysql
phpmyadmin (phpMyAdmin 2.6.2-Debian-3sarge3)
Danach wurde über phpmyadmin eine Datenbank importiert und alle *.php Dateien in das Verzeichnis /var/www/ eingespielt.
Die Webseite läuft, die Datenbank funktioniert und alle installierten Pakete arbeiten wunderbar zusammen.
Die PHP-Seiten verwenden eine Variable namens SCRIPT_URI, diese wird allerdings nicht in den Apache Environments angezeigt wenn ich mir die Informationen über phpinfo() hole.
Wir brauchen diese Funktion damit erkannt wird was in der Adressleiste des Webbrowsers eingegeben wurde. Sollte jemand z.B. test.de und nicht http://www.test.de eingeben, wird er automatisch zu http://www.test.de weitergeleitet.
Nach tagelangem Googeln hab ich jetzt den Entschluss gefasst hier eine Frage zu posten.
Was ich bis jetzt herausgefunden habe:
Es gibt die Möglichkeit eine .htaccess Datei zu verwenden. Hat damit jemand Erfahrung?
SCRIPT_URI kommt vom Modul /usr/lib/apache2/modules/mod_rewrite.so
SCRIPT_URI ist non Standard CGI (Wird nicht standardmäßig Included?)
Die folgenden Variablen gibt es:
AUTH_TYPE, CONTENT_LENGTH, CONTENT_TYPE, DATE_LOCAL, DATE_GMT, DOCUMENT_NAME,DOCUMENT_ROOT, DOCUMENT_URI, FORWARDED, FROM, GATEWAY_INTERFACE, HTTP_ACCEPT, HTTP_ACCEPT_CHARSET, HTTP_ACCEPT_ENCODING, HTTP_ACCEPT_LANGUAGE, HTTP_CACHE_CONTROL, HTTP_CONNECTION, HTTP_COOKIE, HTTP_FORM, HTTP_HOST, HTTP_REFERRER, HTTP_UA_COLOR, HTTP_UA_CPU, HTTP_UA_OS, HTTP_UA_PIXELS, HTTP_USER_AGENT, HTTP_X_FORWARDED_FOR, INSTANCE_ID, LAST_MODIFIED, PAGE_COUNT, PATH, PATH_INFO, PATH_TRANSLATED, QUERY_STRING, QUERY_STRING_UNESCAPED, REMOTE_ADDR, REMOTE_HOST, REMOTE_IDENT, REMOTE_PORT, REMOTE_USER, REQUEST_METHOD, REQUEST_URI, SCRIPT_FILENAME, SCRIPT_NAME, SCRIPT_URI, SCRIPT_URL, SERVER_ADMIN, SERVER_ADDR, SERVER_NAME, SERVER_PORT, SERVER_PROTOCOL, SERVER_SIGNATURE, SERVER_SOFTWARE, TOTAL_HITS, TZ, UNIQUE_ID, USER_NAME, VISP_DOMAIN, VISP_REMOTE_ADDR, VISP_USER
Es gibt also mehr als genug Variablen doch hat jeder unterschiedlich viele davon in seinen Environments. Was ich bis jetzt am meisten gelesen habe ist, das viele gar nicht wissen warum die SCRIPT_URI entweder da ist oder nicht.
Bei mir werden folgende Variablen angezeigt:
HTTP_ACCEPT
HTTP_ACCEPT_LANGUAGE
HTTP_ACCEPT_ENCODING
HTTP_USER_AGENT
HTTP_HOST
HTTP_CONNECTION
PATH
SERVER_SIGNATURE
SERVER_SOFTWARE
SERVER_NAME
SERVER_ADDR
SERVER_PORT
REMOTE_ADDR
DOCUMENT_ROOT
SERVER_ADMIN
SCRIPT_FILENAME
REMOTE_PORT
GATEWAY_INTERFACE
SERVER_PROTOCOL
REQUEST_METHOD
QUERY_STRING
REQUEST_URI
SCRIPT_NAME
Was ich bis jetzt gemacht habe:
Nachgesehen ob das Modul mod_rewrite unter Loaded Modules mit aufgeführt wird. Nachdem ich gesehen habe das es nicht mit aufgeführt ist, habe ich eine Verknüpfung /etc/apache2/mods-enabled/rewrite.load die sich auf die Datei /etc/apache2/mods-available/rewrite.load bezieht angelegt.
Das Modul wird jetzt mit aufgeführt, was mir aber noch keine neuen Variablen gebracht hat.
Ich habe versucht folgendes in der /etc/apache2/httpd.conf reinzuschreiben:
SetEnv SCRIPT_URL
SetEnv SCRIPT_URI
auch
SetEnv SCRIPT_URL()
SetEnv SCRIPT_URI()
oder
SetEnv $SCRIPT_URL
SetEnv $SCRIPT_URI
Die Variablen waren dann zwar in den Apache Environments hatten aber keinen Wert "no value".
Über die Funktion a2enmod nachgesehen ob alle relevanten Module mit eingebunden sind.
Daraus ergeben sich für mich folgende Fragen:
Wurden die fehlenden Variablen aus Gründen der Sicherheit nicht mit eingebunden?
Wie kann ich die Variablen die ich noch benötige in meine Aapache-Konfiguration mit aufnehmen?
Gibt es eine andere Variable die die gleiche Funktion wie die SCRIPT_URI hat? Nach vielen Benutzererfahrungen bringen aber andere Lösungen nicht die gleichen Ergebnisse.
Welche weiteren Informationen über meine Systemkonfiguration benötigt ihr?
Danke im Voraus
Installation von Debian minimal CD (Linux version 2.6.8-3-386 (pbuilder@dl360-g3) (gcc version 3.3.5 (Debian 1:3.3.5-13)) #1 Wed Dec 6 00:38:53 UTC 2006)
apache2 (Apache/2.0.54 (Debian GNU/Linux))
mysql-server-5.0 (MySQL 5.0.32-Dotdeb_1)
php5 (PHP Version 5.2.0-0.dotdeb.3)
libapache2-mod-php5
libapache2-mod-auth-mysql
php5-mysql
phpmyadmin (phpMyAdmin 2.6.2-Debian-3sarge3)
Danach wurde über phpmyadmin eine Datenbank importiert und alle *.php Dateien in das Verzeichnis /var/www/ eingespielt.
Die Webseite läuft, die Datenbank funktioniert und alle installierten Pakete arbeiten wunderbar zusammen.
Die PHP-Seiten verwenden eine Variable namens SCRIPT_URI, diese wird allerdings nicht in den Apache Environments angezeigt wenn ich mir die Informationen über phpinfo() hole.
Wir brauchen diese Funktion damit erkannt wird was in der Adressleiste des Webbrowsers eingegeben wurde. Sollte jemand z.B. test.de und nicht http://www.test.de eingeben, wird er automatisch zu http://www.test.de weitergeleitet.
Nach tagelangem Googeln hab ich jetzt den Entschluss gefasst hier eine Frage zu posten.
Was ich bis jetzt herausgefunden habe:
Es gibt die Möglichkeit eine .htaccess Datei zu verwenden. Hat damit jemand Erfahrung?
SCRIPT_URI kommt vom Modul /usr/lib/apache2/modules/mod_rewrite.so
SCRIPT_URI ist non Standard CGI (Wird nicht standardmäßig Included?)
Die folgenden Variablen gibt es:
AUTH_TYPE, CONTENT_LENGTH, CONTENT_TYPE, DATE_LOCAL, DATE_GMT, DOCUMENT_NAME,DOCUMENT_ROOT, DOCUMENT_URI, FORWARDED, FROM, GATEWAY_INTERFACE, HTTP_ACCEPT, HTTP_ACCEPT_CHARSET, HTTP_ACCEPT_ENCODING, HTTP_ACCEPT_LANGUAGE, HTTP_CACHE_CONTROL, HTTP_CONNECTION, HTTP_COOKIE, HTTP_FORM, HTTP_HOST, HTTP_REFERRER, HTTP_UA_COLOR, HTTP_UA_CPU, HTTP_UA_OS, HTTP_UA_PIXELS, HTTP_USER_AGENT, HTTP_X_FORWARDED_FOR, INSTANCE_ID, LAST_MODIFIED, PAGE_COUNT, PATH, PATH_INFO, PATH_TRANSLATED, QUERY_STRING, QUERY_STRING_UNESCAPED, REMOTE_ADDR, REMOTE_HOST, REMOTE_IDENT, REMOTE_PORT, REMOTE_USER, REQUEST_METHOD, REQUEST_URI, SCRIPT_FILENAME, SCRIPT_NAME, SCRIPT_URI, SCRIPT_URL, SERVER_ADMIN, SERVER_ADDR, SERVER_NAME, SERVER_PORT, SERVER_PROTOCOL, SERVER_SIGNATURE, SERVER_SOFTWARE, TOTAL_HITS, TZ, UNIQUE_ID, USER_NAME, VISP_DOMAIN, VISP_REMOTE_ADDR, VISP_USER
Es gibt also mehr als genug Variablen doch hat jeder unterschiedlich viele davon in seinen Environments. Was ich bis jetzt am meisten gelesen habe ist, das viele gar nicht wissen warum die SCRIPT_URI entweder da ist oder nicht.
Bei mir werden folgende Variablen angezeigt:
HTTP_ACCEPT
HTTP_ACCEPT_LANGUAGE
HTTP_ACCEPT_ENCODING
HTTP_USER_AGENT
HTTP_HOST
HTTP_CONNECTION
PATH
SERVER_SIGNATURE
SERVER_SOFTWARE
SERVER_NAME
SERVER_ADDR
SERVER_PORT
REMOTE_ADDR
DOCUMENT_ROOT
SERVER_ADMIN
SCRIPT_FILENAME
REMOTE_PORT
GATEWAY_INTERFACE
SERVER_PROTOCOL
REQUEST_METHOD
QUERY_STRING
REQUEST_URI
SCRIPT_NAME
Was ich bis jetzt gemacht habe:
Nachgesehen ob das Modul mod_rewrite unter Loaded Modules mit aufgeführt wird. Nachdem ich gesehen habe das es nicht mit aufgeführt ist, habe ich eine Verknüpfung /etc/apache2/mods-enabled/rewrite.load die sich auf die Datei /etc/apache2/mods-available/rewrite.load bezieht angelegt.
Das Modul wird jetzt mit aufgeführt, was mir aber noch keine neuen Variablen gebracht hat.
Ich habe versucht folgendes in der /etc/apache2/httpd.conf reinzuschreiben:
SetEnv SCRIPT_URL
SetEnv SCRIPT_URI
auch
SetEnv SCRIPT_URL()
SetEnv SCRIPT_URI()
oder
SetEnv $SCRIPT_URL
SetEnv $SCRIPT_URI
Die Variablen waren dann zwar in den Apache Environments hatten aber keinen Wert "no value".
Über die Funktion a2enmod nachgesehen ob alle relevanten Module mit eingebunden sind.
Daraus ergeben sich für mich folgende Fragen:
Wurden die fehlenden Variablen aus Gründen der Sicherheit nicht mit eingebunden?
Wie kann ich die Variablen die ich noch benötige in meine Aapache-Konfiguration mit aufnehmen?
Gibt es eine andere Variable die die gleiche Funktion wie die SCRIPT_URI hat? Nach vielen Benutzererfahrungen bringen aber andere Lösungen nicht die gleichen Ergebnisse.
Welche weiteren Informationen über meine Systemkonfiguration benötigt ihr?
Danke im Voraus