Das hätte ich lieber nicht machen sollen, denn dort steht
Here's the variables I have found accessible by mod_rewrite (both documented and undocumented). A thing to note is that you can set these variables early in an .htaccess file using SetEnv, RewriteRule, Header, etc.. and they will be accessible at the end of the .htaccess file.
Gerade habe ich gesehen, dass SCRIPT_NAME nicht nur unter den PHP-Variablen erscheint, sondern auch unter "Apache Environment". Also stimmt doch die Apache-Doku nicht mit der Realität überein.SCRIPT_NAME gibt es nicht und kann daher auch nicht gematched werden:
https://httpd.apache.org/docs/2.4/en...ml#rewritecond
Sorry, aber Deine komischen, wilden Websites/Blogs/Whatever sind keine belastbaren Quellen, sondern Bullshit.Gerade habe ich gesehen, dass SCRIPT_NAME nicht nur unter den PHP-Variablen erscheint, sondern auch unter "Apache Environment". Also stimmt doch die Apache-Doku nicht mit der Realität überein.
[root@devnoip:~] # grep -rn 'SCRIPT_' httpd-2.4.34/modules/mappers/mod_rewrite.c
141:#define ENVVAR_SCRIPT_URL "SCRIPT_URL"
142:#define REDIRECT_ENVVAR_SCRIPT_URL "REDIRECT_" ENVVAR_SCRIPT_URL
143:#define ENVVAR_SCRIPT_URI "SCRIPT_URI"
2105: else if (!strcmp(var, "SCRIPT_USER")) {
2125: if (!strcmp(var, "SCRIPT_GROUP")) {
2190: if (!strcmp(var, "SCRIPT_FILENAME")) {
4625: * add the SCRIPT_URL variable to the env. this is a bit complicated
4630: var = apr_table_get(r->subprocess_env, REDIRECT_ENVVAR_SCRIPT_URL);
4632: apr_table_setn(r->subprocess_env, ENVVAR_SCRIPT_URL, r->uri);
4635: apr_table_setn(r->subprocess_env, ENVVAR_SCRIPT_URL, var);
4639: var = apr_table_get(r->main->subprocess_env, ENVVAR_SCRIPT_URL);
4640: apr_table_setn(r->subprocess_env, ENVVAR_SCRIPT_URL, var);
4644: * create the SCRIPT_URI variable for the env
4656: thisurl = apr_table_get(r->subprocess_env, ENVVAR_SCRIPT_URL);
4661: apr_table_setn(r->subprocess_env, ENVVAR_SCRIPT_URI, var);
[root@devnoip:~] #
Gerade habe ich gesehen, dass SCRIPT_NAME nicht nur unter den PHP-Variablen erscheint, sondern auch unter "Apache Environment". Also stimmt doch die Apache-Doku nicht mit der Realität überein.
Und in der Realität exstiert demnach die Variable mit korrektem Inhalt, kann aber nicht "gematched" werden.
Das funktioniert bei den Proxy-Modulen, weil dort die Variable von den Backends als Respond verfügbar gemacht wird, aber nicht bei mod_rewrite, da mod_rewrite bereits beim Request abgearbeitet wird, also weit vor dem Respond.Ich wollte nur mal einen Anstoss geben das es evtl auch durch "nachladen" der Variable geht.
We use essential cookies to make this site work, and optional cookies to enhance your experience.