如何在.htaccess中有条件地或通过其他方式为特定请求设置php.ini值


How to conditionally set php ini value in .htaccess or through other means for specific requests

我使用的是一个典型的MVC应用程序(恰好是ZF 1.x),它使用mod_rewrite,其中所有请求都被路由到我的/public目录中的一个index.php文件。

站点管理员和普通用户的分派方式没有什么不同。现在,我一直在尝试增加一些INI值,如upload_max_filesizepost_max_size(它们是可更改的PHP_INI_PERDIR),仅用于该站点的管理用户。

除了改变应用程序的调度方式之外,有人能提出一种替代方法吗?我在考虑.htaccess文件中某种条件块的可能性。。。调用`php_value行的地方表示请求URI是否匹配某个模式。我很确定这不是一个选择,但我想我会问是否有人找到了其他解决方案。

我现在的选择似乎是增加所有用户的值,或者重写一些东西,以便通过一个单独的目录来调度需要这些增加值的特定页面,在那里我可以放入一个备用的.htaccess文件。

HTTP本身是不受用户感知的,它是由PHP通过使用cookie管理的机制,因此,不,除了为每个人增加值之外,你什么都做不了!

你喜欢(伪代码)吗?

if($user=='admin') ini_set('upload_max_filesize','100m');