Unterschied zw. CGI-Umgebung und Server-Umgebung
hotti
- webserver
0 Beat0 hotti
0 Edgar Ehritt0 hotti
Hi,
ist mir noch nicht ganz klar, es scheint jedoch Einen zu geben, setze ich in .htaccess
SetEnvIfNoCase Referer ^$ myRef=1
kann ich die Variable myRef zwar im Weiteren in der .htaccess verwenden, in der CGI-Umgebung, mit Perl ausgegeben, sehe ich die Variable jedoch nicht.
Hat mal jemand einen Link zum Nachlesen oder 'n paar erklärende Worte für mich? Evntl. auch ein Beispiel dazu, wie ich in .htaccess eine Variable setzen kann, die Perl in %ENV auch findet.
Hotte
ist mir noch nicht ganz klar, es scheint jedoch Einen zu geben, setze ich in .htaccess
SetEnvIfNoCase Referer ^$ myRef=1
kann ich die Variable myRef zwar im Weiteren in der .htaccess verwenden, in der CGI-Umgebung, mit Perl ausgegeben, sehe ich die Variable jedoch nicht.
Richtig.
Das ist ein Apache Feature, nicht eine CGI Variable.
Hat mal jemand einen Link zum Nachlesen oder 'n paar erklärende Worte für mich? Evntl. auch ein Beispiel dazu, wie ich in .htaccess eine Variable setzen kann, die Perl in %ENV auch findet.
Du kannst es nicht.
Apache wird an Prozesse oder Subrequests nur spezifizierte CGI-Variablen weitergeben.
Ich habe mich schon geärgert dass mod-rewrite im Grunde nur die Url manipulieren kann, nichts anderes.
Desgleichen setzt SetEnvIf nur Variablen, die innerhalb der gleichen .htaccess Abarbeitung dann dann weiter verwendet werden können. Sobald diese aber abgeschlossen ist, vergisst Apache alles über diese Variable.
mfg Beat
hi,
Hat mal jemand einen Link zum Nachlesen oder 'n paar erklärende Worte für mich? Evntl. auch ein Beispiel dazu, wie ich in .htaccess eine Variable setzen kann, die Perl in %ENV auch findet.
Du kannst es nicht.
Lieber Beat, Dir ist hoffentlich klar, was Du mit dieser Aussage in meinem Kopf jetzt anrichtest ;-)
Diesbezügliche Cluster in meinem Zentralnervensystem werde ich jetzt einem LowLevel-Format unterziehen um damit wieder Platz für neue Spielereien zu kriegen. free(cell); malloc(*cigar);
Schönes Wochenende,
Viele Grüße an Alle,
Horst H.
Hallo Rolf,
wenn Du innerhalb der Konfiguration vom Apachen eine Variable für CGI-Scripte setzen willst, nutze mod_env! Die Variablen sind dann in %ENV
enthalten.
<IfModule env_module>
SetEnv neu nein
SetEnv alt ja
</IfModule>
Wenn Du adäquat zu mod_setenvif Variablen in Konfigurationen und CGI-Scripten verwenden willst, musst Du schon ganz schön mit mod_rewrite basteln:
SetEnvIf Request_URI "\.pl$" ja=ja
RewriteEngine On
RewriteCond %{ENV:ja} ja
RewriteRule (.*)\.pl $1\.pl?ja=ja [L,QSA]
Es sind keine ENV-Vars - aber immer hin. ;)
Jedenfalls funktioniert es (vielleicht nur bei mir) nicht so, wie es die Dokumentation mit In addition, Apache provides many different ways for you to add your own environment variables to the basic ones provided by default. verspricht. ;(
Gruß aus Berlin!
eddi
Hallo Rolf,
wenn Du innerhalb der Konfiguration vom Apachen eine Variable für CGI-Scripte setzen willst, nutze mod_env! Die Variablen sind dann in
%ENV
enthalten.
<IfModule env_module>
SetEnv neu nein
SetEnv alt ja
</IfModule>
>
> Wenn Du adäquat zu [..]
Eddi, mein Lieber, ich danke Dir!!!
irgendwie hab ich das Gefühl, dass ich das irgendwo, irgendwann mal gebrauchen kann.
Viele Grüße an Alle,
schönes Wochenende,
Rolf Haselmaus aus der Familie der Bilche
--
setenv $ENV{} = qw(sommer sonne sand meer 6 urlaub cigar);