有没有办法在 .htaccess 中有条件地执行 php_flag 语句?这是我正在尝试做的两件事:
如果客户端的 IP 地址与我使用的 IP 地址匹配,则打开错误报告:
if %{REMOTE_ADDR} == '12.34.56.78' then
php_flag error_reporting 1
else
php_flag error_reporting 0
如果 IP 地址与我的匹配,请关闭 register_globals
,这样我就可以调试由期望此功能打开的代码引起的任何问题。
if %{REMOTE_ADDR} == '12.34.56.78' then
php_flag register_globals on
else
php_flag register_globals on
感谢阅读!
最佳答案
if %{REMOTE_ADDR} == '12.34.56.78' then php_flag error_reporting 1 else php_flag error_reporting 0
这只有在 Apache Expressions 出现后才有可能实现在 Apache 2.4+ 中,您可以在其中执行此类操作...
<If "%{REMOTE_ADDR} == '12.34.56.78'">
php_flag error_reporting 1
</If>
<Else>
php_flag error_reporting 0
</Else>
如果在 Apache 2.2 上,这实际上是不可能的,尤其是对于依赖于请求的东西,比如 REMOTE_ADDR
.在 Apache 2.2 上你有 <IfDefine>
,但这仅测试在 Appache 命令行上使用 -D
定义的参数 是否存在。选项。所以,这实际上是一个每服务器配置开关。 (在 Apache 2.4 上,您可以在服务器配置中使用 Define
指令来有条件地定义参数,但是,这仍然不能根据请求的元素 AFAIK 来定义。此外,您有无论如何在 Apache 2.4 上使用 Apache 表达式。)
关于php - .htaccess 中的条件 php_flag 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2258485/