如何在Apache中使用setEnv变量?

35

我需要将我的Apache环境设置为'foobar'

我知道我需要在我的vhost中进行设置,但是我应该在哪里输入以及输入什么内容?

2个回答

70

SetEnv用于将特定变量设置为某个值,因此您需要类似以下的内容:

SetEnv varname varvalue
如果这是针对特定虚拟主机的,而且您可以访问Apache配置文件,则应将其放置在该虚拟主机的<VirtualHost>指令中。
如果您无法控制配置文件,则需要将其放入.htaccess文件中。但要使其工作,必须允许在.htaccess文件中使用SetEnv,这是使用AllowOverride指令指定的。

我从未使用过Apache,现在我正在使用Smart HTTP协议设置Git时遇到了一些问题。在手册中,他们提到了一个命令,例如SetEnv GIT_PROJECT_ROOT /opt/git。在Linux中,我没有访问名为SetEnv的命令,但是有setenv。老实说,我不知道应该把这个命令放在哪里。你能给我一个提示吗? - Mehrad
3
SetEnv 不是你在终端命令行中输入的命令,而是要放在 Apache 配置文件中的指令。你可能需要创建一个新问题来描述你的环境。 - Richard Fearn
谢谢你的回答。我一定会这样做的。我是通过艰苦的方式才明白了这一点。:) 正如我所说,我对Apache一无所知,对Linux也只是略知一二。干杯! - Mehrad
@Mehrad,我想知道你是否找到了答案? - Vasif

0

我来这里是因为我配置了一个python/django WSGI环境。 整天加载模块和设置SetEnv,但都没有起作用。变量就是不显示。

有效的方法是这样的:https://gist.github.com/GrahamDumpleton/b380652b768e81a7f60c

Graham描述了如何基本克隆您的wsgi.py文件,然后为每个环境(生产、测试、开发)使用不同的文件,并在其中使用os.environ['whatever'] = 'you like!'设置您的环境变量。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接