Apache怎么设置环境变量
有两种环境变量会影响Apache HTTP Server。
尽管这些变量称为环境变量,但它们与底层操作系统控制的环境变量不同。相反,这些变量在内部Apache结构中存储和操作。
它们仅在提供给CGI脚本和服务器端包含脚本时才成为实际的操作系统环境变量。如果您希望操作服务器本身运行的操作系统环境,则必须使用操作系统shell提供的标准环境操作机制。
设置环境变量
基本环境操作
在Apache中设置环境变量的最基本方法是使用无条件的SetEnv指令。也可以使用PassEnv指令从启动服务器的shell环境传递变量。
有条件的每请求设置
为了提高灵活性,mod_setenvif提供的指令允许在每个请求的基础上设置环境变量,具体取决于特定请求的特征。
例如,只有在特定浏览器(用户代理)发出请求时,或者仅在找到特定的Referer [sic]标头时才能设置变量。通过mod_rewrite的RewriteRule可以获得更大的灵活性,它使用[E = ...]选项来设置环境变量。
唯一标识符最后,mod_unique_id将每个请求的环境变量UNIQUE_ID设置为一个值,该值在非常特定的条件下保证在“所有”请求中是唯一的。
标准CGI变量
除了在Apache配置中设置并从shell传递的所有环境变量之外,CGI脚本和SSI页面还提供了一组环境变量,其中包含有关CGI规范所要求的请求的元信息。
一些警告
使用环境操作指令无法覆盖或更改标准CGI变量。
当suexec用于启动CGI脚本时,在启动CGI脚本之前,环境将被清除为一组安全变量。安全变量列表在suexec.c中的编译时定义。
出于可移植性的原因,环境变量的名称可能只包含字母,数字和下划线字符。另外,第一个字符可能不是数字。传递给CGI脚本和SSI页面时,与此限制不匹配的字符将被下划线替换。
一个特殊情况是HTTP标头,它通过环境变量传递给CGI脚本等(见下文)。它们被转换为大写,只有短划线被替换为下划线;如果标头包含任何其他(无效)字符,则会以静默方式删除整个标头。
SetEnv指令在请求处理期间运行较晚,这意味着SetEnvIf和RewriteCond等指令不会看到使用它设置的变量。
当服务器通过内部子请求查找路径(例如查找DirectoryIndex或使用mod_autoindex生成目录列表)时,子请求中不会继承每个请求的环境变量。此外,由于mod_setenvif采取行动的API阶段,因此不会在子请求中单独评估SetEnvIf指令。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanfhjae
-
org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: java.sql.SQ
-
commons-lang3
-
org.apache.catalina.core.StandardContext.startInternal 由于:前的错误,Context[/SpringMVC]启动失败
-
JDK8升级到JDK11后Cannot resolve symbol ‘BASE64Encoder‘
-
Failed to execute goal org.apache.tomcat.maven:tomcat7-maven-plugin:2.1:run (default-cli) on project
-
Apache的配置和运用
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01